/* 英文研究工作台：本地字体、阅读层级与紧凑导航；中文样式保持原样。 */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("ibm-plex-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("newsreader-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

html[lang="en"] {
  --en-body: "IBM Plex Sans", "Segoe UI", sans-serif;
  --en-title: "Newsreader", Georgia, serif;
  --en-text: #233b43;
  --en-secondary: #50646c;
  --en-meta: #576c74;
  --muted: var(--en-secondary);
  --ink: var(--en-text);
  --line: #dce3df;
  --radius: 8px;
  font-family: var(--en-body);
  font-size: 16px;
  font-synthesis: none;
}
html[lang="en"] body {line-height: 1.55; -webkit-font-smoothing: antialiased;}
html[lang="en"] button,
html[lang="en"] input,
html[lang="en"] select,
html[lang="en"] textarea {font-family: var(--en-body);}
html[lang="en"] .sidebar {width: 236px; padding: 32px 20px 22px;}
html[lang="en"] .shell {margin-left: 236px;}
html[lang="en"] .brand {font-family: var(--en-title); font-size: 32px; font-weight: 500; letter-spacing: -.02em; line-height: 1; gap: 12px; margin: 0 6px 42px;}
html[lang="en"] .brand-symbol {font-size: 37px;}
html[lang="en"] .brand small {font-family: var(--en-body); font-size: 8px; letter-spacing: .12em; line-height: 1.2; margin-top: 8px; color: #c2ced0;}
html[lang="en"] .workspace-label {font-size: 10px; letter-spacing: .12em; color: #a6b8be;}
html[lang="en"] .nav {font-size: 14px; line-height: 1.35; padding: 13px 12px; margin-bottom: 5px; color: #bac9ce; border-radius: 5px; gap: 10px;}
html[lang="en"] .nav.active {color: #fff;}
html[lang="en"] .nav>span {font-size: 19px; flex: 0 0 22px;}
html[lang="en"] .nav i {display: none;}
html[lang="en"] .sidebar-study {margin-top: 28px; padding-top: 22px;}
html[lang="en"] .sidebar-study strong {font-size: 16px; font-weight: 500; line-height: 1.4;}
html[lang="en"] .sidebar-study p,
html[lang="en"] .sidebar-study small {font-size: 12px; line-height: 1.5; color: #a9bdc4;}
html[lang="en"] .tiny {font-size: 11px; letter-spacing: .03em; color: #a9bdc4;}
html[lang="en"] .sidebar-bottom {font-size: 12px; color: #b4c5cb;}
html[lang="en"] .sidebar-bottom button {font-size: 12px; padding-left: 8px;}
html[lang="en"] .sidebar-bottom small {color: #a9bdc4;}
html[lang="en"] .topbar {min-height: 76px; height: auto; padding: 16px 44px; gap: 20px;}
html[lang="en"] .breadcrumb {font-size: 13px; line-height: 1.4;}
html[lang="en"] .breadcrumb span {margin: 0 10px;}
html[lang="en"] .top-actions {gap: 14px;}
html[lang="en"] .snapshot-label {font-size: 12px;}
html[lang="en"] main {max-width: 1510px; padding: 40px 44px 24px;}
html[lang="en"] .page-head {align-items: flex-start; margin-bottom: 30px; gap: 24px;}
html[lang="en"] h1 {font-family: var(--en-title); font-size: clamp(36px, 3.3vw, 48px); font-weight: 500; line-height: 1.06; letter-spacing: -.025em; text-wrap: balance;}
html[lang="en"] .page-head h1 {max-width: 25ch;}
html[lang="en"] .eyebrow {font-size: 11px; font-weight: 600; letter-spacing: .13em; margin-bottom: 14px; color: #386b5d;}
html[lang="en"] .page-head p {max-width: 73ch; margin-top: 14px; font-size: 16px; line-height: 1.6; color: var(--en-secondary);}
html[lang="en"] .status-pill {font-size: 12px; line-height: 1.4; padding: 8px 12px; margin-top: 24px; flex-shrink: 0; color: #72591e; background: #f7f4e9;}
html[lang="en"] h2 {font-size: 22px; line-height: 1.3; letter-spacing: -.015em; font-weight: 500; text-wrap: balance;}
html[lang="en"] h3 {font-size: 17px; line-height: 1.4; font-weight: 600; letter-spacing: -.005em;}
html[lang="en"] .panel {box-shadow: none; border-color: var(--line);}
html[lang="en"] main>.panel+.panel {margin-top: 24px;}
html[lang="en"] .evidence-context {padding: 22px 28px;}
html[lang="en"] .evidence-context .event-picker {max-width: 440px;}
html[lang="en"] .evidence-context select {width: 100%; min-height: 44px;}
html[lang="en"] .panel>.event-long-title {padding-left: 28px; padding-right: 28px;}
html[lang="en"] .panel-head {padding: 26px 28px 0; gap: 20px;}
html[lang="en"] .panel-head h2 {line-height: 1.3;}
html[lang="en"] main p,
html[lang="en"] .insight,
html[lang="en"] .note-callout,
html[lang="en"] .historical-explanation,
html[lang="en"] .cycle-explain,
html[lang="en"] .crop-boundary {font-size: 16px; line-height: 1.65; color: var(--en-secondary);}
html[lang="en"] .panel-head p {margin-top: 8px; max-width: 85ch;}
html[lang="en"] .panel-body {padding: 24px 28px;}
html[lang="en"] .panel-bottom {padding: 15px 28px; font-size: 13px; color: var(--en-meta); align-items: center; flex-wrap: wrap;}
html[lang="en"] .panel-bottom>* {max-width: 100%;}
html[lang="en"] .button,
html[lang="en"] select,
html[lang="en"] .segmented button {font-size: 14px; min-height: 40px; padding: 8px 12px; line-height: 1.4;}
html[lang="en"] .link-button {font-size: 14px; line-height: 1.5; text-align: left; color: #275b7b;}
html[lang="en"] a.link-button {text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #a4bac4;}
html[lang="en"] main a[href]:visited,
html[lang="en"] .source-item a:visited {color: #68536c;}
html[lang="en"] .field {font-size: 13px; gap: 7px; color: var(--en-secondary);}
html[lang="en"] .field select {min-width: 160px;}
html[lang="en"] .wk-tiles {margin: 22px 28px; border-width: 1px 0; border-radius: 0;}
html[lang="en"] .wk-tiles>div {padding: 18px 16px;}
html[lang="en"] .wk-tiles>div:first-child {padding-left: 0;}
html[lang="en"] .wk-tiles small {font-size: 12px; line-height: 1.5; color: var(--en-meta);}
html[lang="en"] .wk-tiles strong {font-size: 23px; font-weight: 500; letter-spacing: -.02em; line-height: 1.3; margin: 9px 0;}
html[lang="en"] .wk-tiles span {font-size: 13px; line-height: 1.5; color: var(--en-secondary);}
html[lang="en"] .wk-tiles .wk-count {font-size: 13px; font-weight: 500; margin-right: 6px;}
html[lang="en"] .insight {margin: 22px 28px; padding: 20px 22px; background: #f1f5f0; border: 0; border-radius: 4px;}
html[lang="en"] .dashboard-banner {padding: 22px 28px; gap: 24px; background: #edf1eb;}
html[lang="en"] .dashboard-banner b {font-size: 17px; font-weight: 500;}
html[lang="en"] .dashboard-banner span {font-size: 13px; color: #48645a;}
html[lang="en"] .dashboard-banner p {font-size: 14px; line-height: 1.6; margin-top: 8px;}
html[lang="en"] .overview-source,
html[lang="en"] .overview-source a,
html[lang="en"] .overview-map figcaption {font-size: 13px; line-height: 1.65; color: var(--en-meta);}
html[lang="en"] .overview-regions strong {font-size: 16px;}
html[lang="en"] .overview-regions span {font-size: 14px; color: var(--en-secondary);}
html[lang="en"] .walker-card h3 {font-size: 17px; line-height: 1.35;}
html[lang="en"] .walker-compare figcaption {font-size: 16px; line-height: 1.65; color: var(--en-secondary);}
html[lang="en"] .walker-diagram text {font-family: var(--en-body); fill: var(--en-secondary);}
html[lang="en"] .scope-status strong,
html[lang="en"] .evidence-row strong {font-size: 17px; line-height: 1.4;}
html[lang="en"] .note-callout {padding: 0 28px 26px;}
html[lang="en"] .snapshot-notice {padding: 18px 22px; background: #edf3f7; border: 1px solid #c9d8df;}
html[lang="en"] .snapshot-notice strong {font-size: 16px; font-weight: 500;}
html[lang="en"] .snapshot-notice p {font-size: 14px; line-height: 1.6;}
html[lang="en"] .crop-heading {gap: 24px; align-items: flex-start;}
html[lang="en"] .crop-heading p {font-size: 14px; margin-top: 10px;}
html[lang="en"] .crop-boundary {font-size: 14px;}
html[lang="en"] .crop-tabs {gap: 6px;}
html[lang="en"] .crop-tabs button {font-size: 14px; line-height: 1.4; padding: 12px 14px;}
html[lang="en"] .chip,
html[lang="en"] .availability {font-size: 11px; line-height: 1.4;}
html[lang="en"] .crop-scope small,
html[lang="en"] .crop-card small {font-size: 12px; color: var(--en-meta);}
html[lang="en"] .crop-card h2 {font-size: 22px;}
html[lang="en"] .crop-card .crop-meta {font-size: 13px;}
html[lang="en"] .crop-price-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
html[lang="en"] .crop-price-card h3 {font-size: 22px; line-height: 1.3;}
html[lang="en"] .crop-quote {font-size: 32px; line-height: 1.2; font-weight: 500;}
html[lang="en"] .crop-quote small,
html[lang="en"] .crop-type {font-size: 13px; color: var(--en-meta);}
html[lang="en"] .crop-change {font-size: 14px; color: var(--en-secondary);}
html[lang="en"] .coverage-links button {font-size: 12px; line-height: 1.5;}
html[lang="en"] .verdict-grid {gap: 24px; padding: 24px 28px;}
html[lang="en"] .verdict-grid>div {padding: 22px; background: #f3f5f1; border-radius: 4px;}
html[lang="en"] .verdict-grid span {font-size: 12px; font-weight: 500; color: var(--en-meta);}
html[lang="en"] .verdict-grid h3 {font-size: 20px; margin: 10px 0 16px;}
html[lang="en"] .verdict-grid strong {font-size: 15px; color: #203f48; line-height: 1.45;}
html[lang="en"] .verdict-grid p {font-size: 16px; line-height: 1.65;}
html[lang="en"] .method-chain h3 {font-size: 18px;}
html[lang="en"] .method-chain p {font-size: 16px;}
html[lang="en"] .method-chain strong {font-size: 13px; line-height: 1.5; color: #386b5d;}
html[lang="en"] .current-facts span,
html[lang="en"] .event-steps span,
html[lang="en"] .validation-steps span,
html[lang="en"] .evidence-read-path,
html[lang="en"] .evidence-visual-key span {font-size: 16px; line-height: 1.65; color: var(--en-secondary);}
html[lang="en"] .current-facts small,
html[lang="en"] .validation-steps small,
html[lang="en"] .event-steps small {font-size: 13px; color: var(--en-meta);}
html[lang="en"] .legend {font-size: 13px; line-height: 1.4; gap: 14px; color: var(--en-secondary);}
html[lang="en"] .chart {overflow-x: auto;}
html[lang="en"] .chart text {font-size: 12px; fill: var(--en-meta);}
html[lang="en"] .chart svg {font-family: var(--en-body);}
html[lang="en"] .historical-bars text {font-size: 12px; fill: var(--en-secondary);}
html[lang="en"] .historical-bars .bar-small {font-size: 11px;}
html[lang="en"] .table-wrap {padding: 22px 28px;}
html[lang="en"] table {font-size: 14px; line-height: 1.5;}
html[lang="en"] th {font-size: 13px; color: var(--en-meta); font-weight: 500;}
html[lang="en"] td {color: var(--en-text); padding-top: 14px; padding-bottom: 14px;}
html[lang="en"] .crop-data summary,
html[lang="en"] summary {font-size: 14px; line-height: 1.5;}
html[lang="en"] .crop-data summary {padding-top: 18px; padding-bottom: 18px;}
html[lang="en"] .weekly-report {max-width: 88ch; margin: 0 auto; padding: 14px 28px 36px; font-size: 16px; line-height: 1.7;}
html[lang="en"] .weekly-report h1 {font-family: var(--en-title); font-size: 32px; font-weight: 500; margin: 24px 0 18px;}
html[lang="en"] .weekly-report h2 {font-size: 23px; margin: 36px 0 14px; padding-top: 24px;}
html[lang="en"] .weekly-report h3,
html[lang="en"] .weekly-report h4 {font-size: 18px; margin-top: 24px;}
html[lang="en"] .weekly-report p {margin: 14px 0;}
html[lang="en"] .weekly-report code {font-size: 13px;}
html[lang="en"] .weekly-report blockquote {border: 0; background: #f0f4ed; padding: 16px 20px; color: var(--en-secondary);}
html[lang="en"] .wk-picker>span,
html[lang="en"] .reference-count {font-size: 13px; color: var(--en-meta);}
html[lang="en"] .reference-card {padding: 26px;}
html[lang="en"] .reference-card h2 {font-size: 23px; line-height: 1.3;}
html[lang="en"] .reference-meta,
html[lang="en"] .reference-byline,
html[lang="en"] .reference-footer,
html[lang="en"] .reference-footer>span {font-size: 13px; line-height: 1.5; color: var(--en-meta);}
html[lang="en"] .reference-application strong {font-size: 13px; color: #385d4e;}
html[lang="en"] .reference-card summary {font-size: 14px; color: var(--en-secondary);}
html[lang="en"] .reference-controls input {font-size: 14px; min-height: 40px;}
html[lang="en"] dialog {width: min(760px, calc(100vw - 32px)); padding: 30px;}
html[lang="en"] dialog p {font-size: 16px; line-height: 1.65; color: var(--en-secondary);}
html[lang="en"] .source-item strong {font-size: 17px; font-weight: 500;}
html[lang="en"] .source-item span,
html[lang="en"] .source-item code {font-size: 13px; color: var(--en-meta);}
html[lang="en"] .tooltip {font-size: 13px;}
html[lang="en"] footer {font-size: 12px; line-height: 1.5; color: var(--en-meta); padding: 24px 44px 32px;}

@media (max-width: 1180px) {
  html[lang="en"] .sidebar {width: 210px; padding-left: 12px; padding-right: 12px;}
  html[lang="en"] .shell {margin-left: 210px;}
  html[lang="en"] main {padding: 34px 28px 24px;}
  html[lang="en"] .topbar {padding-left: 28px; padding-right: 28px;}
  html[lang="en"] .page-head {flex-wrap: wrap;}
  html[lang="en"] .status-pill {margin-top: 0;}
  html[lang="en"] .wk-tiles {grid-template-columns: repeat(3, minmax(0, 1fr));}
  html[lang="en"] .wk-tiles>div {border: 0;}
  html[lang="en"] .verdict-grid {grid-template-columns: 1fr;}
  html[lang="en"] .reference-grid {grid-template-columns: 1fr;}
}
@media (max-width: 680px) {
  html[lang="en"] .sidebar {position: static; width: 100%; padding: 20px 18px 0;}
  html[lang="en"] .brand {font-size: 29px; margin: 0 0 18px;}
  html[lang="en"] .brand-symbol {font-size: 32px;}
  html[lang="en"] .brand small {font-size: 8px;}
  html[lang="en"] .shell {margin-left: 0;}
  html[lang="en"] .sidebar nav {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; overflow: visible;}
  html[lang="en"] .nav {grid-column: span 2; min-height: 44px; font-size: 13px; padding: 10px 6px; margin: 0; white-space: normal;}
  html[lang="en"] .nav:nth-child(n+4) {grid-column: span 3;}
  html[lang="en"] .topbar {padding: 12px 18px; gap: 10px; min-height: 66px; flex-wrap: wrap;}
  html[lang="en"] .breadcrumb {font-size: 12px;}
  html[lang="en"] .top-actions {gap: 8px;}
  html[lang="en"] .top-actions .button {font-size: 12px; min-height: 44px; padding: 7px 10px;}
  html[lang="en"] main {padding: 30px 18px 20px;}
  html[lang="en"] h1 {font-size: 38px; line-height: 1.05;}
  html[lang="en"] .page-head {gap: 16px; margin-bottom: 24px;}
  html[lang="en"] .page-head p {max-width: none; font-size: 16px; line-height: 1.6;}
  html[lang="en"] .eyebrow {font-size: 10px; margin-bottom: 12px;}
  html[lang="en"] .status-pill {font-size: 12px; margin: 0;}
  html[lang="en"] h2 {font-size: 22px;}
  html[lang="en"] .panel-head {padding: 22px 20px 0; flex-wrap: wrap; gap: 14px;}
  html[lang="en"] .panel-head h2 {font-size: 22px;}
  html[lang="en"] .evidence-context {padding: 20px;}
  html[lang="en"] .panel>.event-long-title {padding-left: 20px; padding-right: 20px;}
  html[lang="en"] .panel-head p {font-size: 16px;}
  html[lang="en"] .panel-body,
  html[lang="en"] .table-wrap {padding: 20px;}
  html[lang="en"] .panel-bottom {padding: 15px 20px; font-size: 13px;}
  html[lang="en"] .wk-tiles {grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 20px;}
  html[lang="en"] .wk-tiles>div,
  html[lang="en"] .wk-tiles>div:first-child {padding: 16px 12px 16px 0;}
  html[lang="en"] .wk-tiles>div:last-child {grid-column: 1 / -1; border-top: 1px solid var(--line);}
  html[lang="en"] .wk-tiles strong {font-size: 23px;}
  html[lang="en"] .insight {margin: 20px; padding: 18px;}
  html[lang="en"] .dashboard-banner {padding: 20px; flex-direction: column; align-items: flex-start; gap: 12px;}
  html[lang="en"] .note-callout {padding: 0 20px 22px;}
  html[lang="en"] .snapshot-notice {padding: 18px;}
  html[lang="en"] .verdict-grid {padding: 20px; gap: 14px;}
  html[lang="en"] .verdict-grid>div {padding: 20px;}
  html[lang="en"] .verdict-grid h3 {font-size: 20px;}
  html[lang="en"] .crop-heading {flex-direction: column;}
  html[lang="en"] .crop-price-grid {grid-template-columns: 1fr;}
  html[lang="en"] .crop-selectors {width: 100%; gap: 14px;}
  html[lang="en"] .crop-selectors .field {flex: 1 1 130px; min-width: 0;}
  html[lang="en"] .price-controls>.segmented {max-width: 100%; display: flex; flex-wrap: wrap;}
  html[lang="en"] .price-controls>.segmented button {min-width: 0; white-space: normal; flex: 1 1 auto;}
  html[lang="en"] .field select {min-width: 0; width: 100%;}
  html[lang="en"] .chart {padding-left: 12px; padding-right: 12px;}
  html[lang="en"] .chart>svg {min-width: 520px;}
  html[lang="en"] .historical-pair {overflow-x: auto; padding: 20px;}
  html[lang="en"] .historical-bars {min-width: 480px;}
  html[lang="en"] .weekly-report {padding: 14px 20px 28px;}
  html[lang="en"] .weekly-report h1 {font-size: 30px;}
  html[lang="en"] .reference-card {padding: 22px;}
  html[lang="en"] .reference-controls {align-items: stretch;}
  html[lang="en"] .reference-controls .segmented {overflow-x: auto;}
  html[lang="en"] .reference-controls .segmented button {font-size: 13px; min-height: 40px;}
  html[lang="en"] .reference-controls .field {width: 100%;}
  html[lang="en"] .reference-controls input {width: 100%;}
  html[lang="en"] footer {padding: 20px 18px 28px; flex-direction: column; gap: 8px;}
  html[lang="en"] footer span {max-width: none; text-align: left;}
}
html[lang="en"] .overview-futures>div {padding: 22px; background: #f3f5f1; border-radius: 4px;}
html[lang="en"] .overview-futures>div>span {font-size: 12px; font-weight: 500; color: var(--en-meta);}
html[lang="en"] .overview-futures h3 {font-family: var(--en-title); font-size: 20px; font-weight: 500;}
html[lang="en"] .overview-futures p {font-size: 15px; line-height: 1.6; color: var(--en-secondary);}
html[lang="en"] .overview-compare small {font-size: 12px; color: var(--en-meta);}
html[lang="en"] .overview-compare b {font-family: var(--en-title); font-size: 30px; font-weight: 500;}
html[lang="en"] .overview-compare span {font-size: 13px; color: var(--en-secondary);}
