.cftc-hero h1{font-size:clamp(42px,5.5vw,72px)}
.hero-rule{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;color:#b3ebff;font-size:11px;font-weight:800}.hero-rule i{font-style:normal;color:#ffc819}
.cftc-main-grid{grid-template-columns:1.15fr .85fr}
.sector-pulse{display:grid;gap:12px}.sector-row{display:grid;grid-template-columns:96px 1fr 80px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f2}.sector-row:last-child{border:0}.sector-row strong{color:var(--navy)}.pulse-track{position:relative;height:10px;border-radius:6px;background:#edf3f5;overflow:hidden}.pulse-track i{position:absolute;left:50%;top:0;height:100%;border-radius:6px;background:var(--cyan)}.pulse-track i.negative{transform:translateX(-100%);background:var(--gold)}.sector-row small{text-align:right;color:#77838a}
.evidence-groups{display:grid;gap:14px}.evidence-group{padding:16px;border-radius:15px;background:#f7fafb;border-left:4px solid var(--cyan)}.evidence-group.conflict{border-color:var(--gold)}.evidence-group.watch{border-color:#c1c6c8}.evidence-group header{display:flex;justify-content:space-between;color:var(--navy);font-weight:800}.evidence-group p{margin:9px 0 0;color:#738087;font-size:13px;line-height:1.7}
.chart-shell{position:relative;overflow:auto;min-height:480px}.chart-shell svg{display:block;width:100%;min-width:780px;height:auto}.chart-grid{stroke:#dfe5e8;stroke-width:1}.chart-axis{stroke:#9da8ae;stroke-width:1.2}.chart-zero{stroke:#ffc819;stroke-width:1.4;stroke-dasharray:7 7}.chart-label{fill:#7c878d;font-size:12px}.chart-quadrant{fill:#005096;font-size:14px;font-weight:800;opacity:.55}.migration-path{stroke:#c1c6c8;stroke-width:1.6}.migration-dot{stroke:#fff;stroke-width:3;cursor:pointer}.migration-code{fill:#3c3c3c;font-size:11px;font-weight:800;pointer-events:none}.sector-metal{fill:#005096}.sector-energy{fill:#1eb9e1}.sector-agri{fill:#0078b4}.sector-softs{fill:#ffc819}.chart-legend{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#77838a;font-size:12px}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.chart-legend .metal{background:#005096}.chart-legend .energy{background:#1eb9e1}.chart-legend .agri{background:#0078b4}.chart-legend .softs{background:#ffc819}
.contract-toolbar{display:flex;align-items:center;gap:12px;margin:18px 0}.contract-toolbar label{color:var(--blue);font-size:12px;font-weight:800}.contract-toolbar select{min-width:220px;padding:10px 36px 10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:800}
.bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;min-height:210px}.bridge-leg{padding:22px;border-radius:18px;background:#f5fafc;text-align:center}.bridge-leg small{color:#78848a}.bridge-leg strong{display:block;margin:12px 0;color:var(--navy);font-size:36px}.bridge-plus{color:var(--cyan);font-size:32px}.bridge-net{grid-column:1/-1;padding:14px 18px;border-radius:12px;background:#005096;color:#fff;text-align:center;font-weight:800}.exit-card{display:grid;place-items:center;min-height:250px;text-align:center}.exit-ring{display:grid;place-items:center;width:176px;height:176px;border-radius:50%;background:conic-gradient(var(--gold) var(--exit),#edf1f3 0);position:relative}.exit-ring:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.exit-ring span{position:relative;z-index:1}.exit-ring strong{display:block;color:var(--navy);font-size:34px}.exit-card p{color:#78848a;font-size:13px;line-height:1.7}
.mirror-list{display:grid;gap:10px}.mirror-row{display:grid;grid-template-columns:110px repeat(3,1fr) 90px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f2}.mirror-row:last-child{border:0}.mirror-row>strong{color:var(--navy)}.mirror-bar{position:relative;height:24px;border-radius:12px;background:#f0f4f6;overflow:hidden}.mirror-bar i{position:absolute;top:0;height:100%;left:50%;background:var(--cyan)}.mirror-bar i.negative{transform:translateX(-100%);background:var(--gold)}.mirror-bar span{position:absolute;inset:0;display:grid;place-items:center;color:#34444d;font-size:10px;font-weight:800}.mirror-row em{font-style:normal;text-align:right;color:#7b858b;font-size:11px}
.history-shell{min-height:360px}.history-net{fill:none;stroke:#005096;stroke-width:3}.history-oi{fill:none;stroke:#1eb9e1;stroke-width:2;opacity:.72}.history-area{fill:#b3ebff;opacity:.18}.history-point{fill:#ffc819;stroke:#fff;stroke-width:3}
.method-card small{color:var(--blue);font-weight:800;letter-spacing:.12em}.method-card h2{color:var(--navy)}.method-card p{color:#68747a;line-height:1.85}
.cftc-tooltip{position:fixed;z-index:60;max-width:240px;padding:10px 13px;border-radius:10px;background:#005096;color:#fff;box-shadow:0 12px 30px #00509640;font-size:12px;line-height:1.65;pointer-events:none}
@media(max-width:980px){.cftc-main-grid{grid-template-columns:1fr}.mirror-row{grid-template-columns:90px 1fr}.mirror-row .mirror-bar:nth-of-type(n+2){display:none}.mirror-row em{grid-column:2}.bridge{grid-template-columns:1fr}.bridge-plus{display:none}.bridge-net{grid-column:auto}}
@media(max-width:720px){.sector-row{grid-template-columns:82px 1fr}.sector-row small{grid-column:2}.chart-shell{margin-inline:-12px}.contract-toolbar{align-items:flex-start;flex-direction:column}}
