/* Touch-first reading scale shared by the four workspaces. Desktop panes,
   data visibility, ranking and trading rules remain owned by their modules. */
@media (max-width:720px) {
  #signalsWorkspace .opportunities-heading,
  #paperTrading .paper-terminal-heading,
  #priceForecast .forecast-heading,
  #researchHub>.hub-heading {gap:12px;padding:8px 0 16px;}
  #signalsWorkspace .opportunities-heading h2,
  #paperTrading #paperTradingTitle,
  #priceForecast #forecastTitle,
  #researchHub #researchTitle {font-size:23px;line-height:1.25;letter-spacing:-.04em;margin:7px 0;}
  #signalsWorkspace .opportunities-eyebrow,
  #paperTrading .paper-eyebrow,
  #priceForecast .forecast-eyebrow,
  #researchHub .workspace-eyebrow {font-size:var(--ui-label-size);letter-spacing:.07em;}
  #signalsWorkspace .opportunities-heading p,
  #paperTrading #paperTradingSubtitle,
  #priceForecast #forecastIntro,
  #researchHub .hub-description {font-size:var(--ui-body-size);line-height:1.6;max-width:none;}

  /* Search has its own full-width row; sorting and direction share the next.
     The input keeps a 16px font so focusing it does not zoom the iPhone page. */
  #signalsWorkspace .opportunities-guide>summary {min-height:44px;display:flex;align-items:center;gap:6px;padding:8px;font-size:var(--ui-label-size);}
  #signalsWorkspace .toolbar {grid-template-columns:minmax(0,1fr) 98px;gap:8px;}
  #signalsWorkspace .tabs {grid-column:1/-1;grid-row:1;margin:0;}
  #signalsWorkspace .tab {min-height:44px;font-size:12px;line-height:1.4;}
  #signalsWorkspace .tab .tab-count {font-size:var(--ui-label-size);}
  #signalsWorkspace .filter-tools {display:contents;}
  #signalsWorkspace .search-field {grid-column:1/-1;grid-row:2;min-height:46px;}
  #signalsWorkspace #searchInput {min-height:46px;font-size:16px;padding-block:10px;}
  #signalsWorkspace #sortInput {grid-column:1;grid-row:3;align-self:end;min-height:44px;font-size:13px;padding:10px 8px;}
  #signalsWorkspace .secondary-filters {grid-column:2;grid-row:3;justify-self:stretch;align-self:stretch;}
  #signalsWorkspace .secondary-filters label {display:grid;gap:3px;font-size:var(--ui-label-size);}
  #signalsWorkspace .secondary-filters select {max-width:none;width:100%;min-height:44px;font-size:16px;padding:8px 5px;}
  #signalsWorkspace .scan-order-tools {gap:8px;margin:10px 0 4px;}
  #signalsWorkspace .scan-order-tools>span {font-size:var(--ui-label-size);line-height:1.5;}
  #signalsWorkspace .scan-order-tools button {min-height:44px;font-size:var(--ui-label-size);padding:8px 10px;flex:1 1 130px;}
  #signalsWorkspace #standardCriteria {margin-bottom:10px;padding:0;}
  #signalsWorkspace #standardCriteria>summary {min-height:44px;padding:12px 0;font-size:12px;}
  #signalsWorkspace #signalGrid {gap:12px;}
  #signalsWorkspace .signal-grid>.opportunity-card {padding:14px;gap:10px;box-shadow:none;}
  #signalsWorkspace .asset {font-size:21px;}
  #signalsWorkspace .exchanges {font-size:var(--ui-label-size);line-height:1.5;}
  #signalsWorkspace .opportunity-status {font-size:12px;}
  #signalsWorkspace .opportunity-quote {padding-bottom:10px;}
  #signalsWorkspace .opportunity-quote dt {font-size:var(--ui-label-size);margin-bottom:4px;}
  #signalsWorkspace .opportunity-quote dd {font-size:23px;letter-spacing:-.035em;}
  #signalsWorkspace .quote-unit {font-size:var(--ui-label-size);}
  #signalsWorkspace .opportunity-plan {padding:10px;gap:10px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}
  #signalsWorkspace .opportunity-plan>div>span {font-size:var(--ui-label-size);margin-bottom:4px;}
  #signalsWorkspace .opportunity-plan strong {font-size:13px;line-height:1.5;}
  #signalsWorkspace .plan-targets {padding-top:8px;}
  #signalsWorkspace .plan-targets>div {gap:8px;}
  #signalsWorkspace .target-value {flex:1 1 70px;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;}
  #signalsWorkspace .target-value small {font-size:var(--ui-label-size);}
  #signalsWorkspace .target-value b {font-size:13px;}
  #signalsWorkspace .opportunity-evidence>div {padding-inline:7px;}
  #signalsWorkspace .opportunity-evidence>div:first-child {padding-left:0;}
  #signalsWorkspace .opportunity-evidence dt {font-size:var(--ui-label-size);line-height:1.4;}
  #signalsWorkspace .opportunity-evidence dd {font-size:14px;}
  #signalsWorkspace .opportunity-readout {gap:8px;padding-top:10px;}
  #signalsWorkspace .opportunity-readout p,
  #signalsWorkspace .opportunity-readout .card-verdict {font-size:var(--ui-body-size);line-height:1.6;}
  #signalsWorkspace .opportunity-readout p>span {font-size:var(--ui-label-size);}
  #signalsWorkspace .move-evidence {padding:9px 10px;gap:10px;}
  #signalsWorkspace .move-evidence strong {font-size:20px;}
  #signalsWorkspace .move-evidence small {font-size:var(--ui-label-size);}
  #signalsWorkspace .card-actions .open-token-chart {min-height:44px;font-size:12px;padding:10px 8px;}
  #signalsWorkspace .opportunity-details>summary {min-height:44px;padding:12px 0 6px;font-size:12px;}
  #signalsWorkspace #loadMoreSignals {min-height:44px;font-size:13px;}

  /* Two primary balance cards, followed by four compact supporting metrics. */
  #paperTrading .paper-terminal-health {grid-template-columns:auto minmax(0,1fr);gap:5px 8px;padding-top:10px;}
  #paperTrading .paper-terminal-health strong,
  #paperTrading .paper-terminal-health small {font-size:var(--ui-label-size);line-height:1.5;}
  #paperTrading .paper-account-metrics {gap:8px;}
  #paperTrading .paper-account-metrics>.paper-metric,
  #paperTrading .paper-account-metrics>.paper-metric:nth-child(-n+2) {grid-column:auto;min-width:0;padding:12px;}
  #paperTrading .paper-account-metrics>.paper-metric:nth-child(-n+2)>strong {font-size:clamp(18px,5vw,24px);line-height:1.35;letter-spacing:-.04em;}
  #paperTrading .paper-metric span {font-size:var(--ui-label-size);line-height:1.5;}
  #paperTrading .paper-metric strong {font-size:16px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;}
  #paperTrading .paper-metric small {font-size:var(--ui-label-size);line-height:1.5;margin-top:5px;}
  #paperTrading .paper-ledger-tabs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:3px;margin-top:16px;padding-bottom:4px;}
  #paperTrading .paper-ledger-tabs button {min-width:0;min-height:48px;padding:8px 3px;font-size:var(--ui-label-size);line-height:1.4;white-space:normal;border-radius:7px;}
  #paperTrading .paper-terminal-body {padding-top:16px;}
  #paperTrading h3 {font-size:16px;}
  #paperTrading .paper-positions>header {align-items:flex-start;gap:8px;padding-bottom:10px;}
  #paperTrading #paperPositionSummary {font-size:12px;line-height:1.5;}
  #paperTrading #paperVenueChip {font-size:var(--ui-label-size);padding:4px 7px;}
  #paperTrading .paper-position-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  #paperTrading .paper-position-filters button {min-width:0;min-height:44px;padding:7px 4px;font-size:var(--ui-label-size);white-space:normal;border-radius:8px;}
  #paperTrading .paper-position-scope {font-size:var(--ui-label-size);line-height:1.5;margin-bottom:12px;}
  #paperTrading .paper-position-list {gap:12px;}
  #paperTrading .paper-position-card {padding:14px;}
  #paperTrading .paper-position-asset {font-size:21px;}
  #paperTrading .paper-position-contract {font-size:var(--ui-label-size);line-height:1.5;}
  #paperTrading .paper-position-pnl-grid {gap:10px;padding:10px;margin:12px 0;}
  #paperTrading .paper-position-pnl-grid span {font-size:var(--ui-label-size);line-height:1.5;}
  #paperTrading .paper-position-pnl-grid strong {font-size:15px;}
  #paperTrading .paper-position-facts {gap:10px 14px;}
  #paperTrading .paper-position-facts dt {font-size:var(--ui-label-size);}
  #paperTrading .paper-position-facts dd {font-size:13px;line-height:1.5;}
  #paperTrading .paper-position-details {margin-top:12px;}
  #paperTrading .paper-position-details>summary {min-height:44px;padding:12px 0;font-size:12px;}
  #paperTrading .paper-position-time,#paperTrading .paper-position-meta {font-size:var(--ui-label-size);}
  #paperTrading .paper-ledger-table td::before {font-size:var(--ui-label-size);}
  #paperTrading .paper-ledger-table td {font-size:13px;line-height:1.5;}
  #paperTrading .paper-equity-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:10px 0;}
  #paperTrading .paper-equity-summary strong {font-size:20px;overflow-wrap:anywhere;}
  #paperTrading .paper-equity-summary span {font-size:var(--ui-label-size);}
  #paperTrading .paper-empty {min-height:150px;padding:20px 14px;}
  #paperTrading .paper-empty strong {font-size:15px;}
  #paperTrading .paper-terminal-footnote {font-size:var(--ui-label-size);line-height:1.6;}

  /* The chart remains sharp at its measured width. Only surrounding chrome
     is condensed; no candle prices, indicators or forecast ranges are hidden. */
  #priceForecast .forecast-badge {font-size:var(--ui-label-size);padding:5px 7px;margin-top:8px;}
  #priceForecast .forecast-summary-card {padding:14px;}
  #priceForecast .forecast-token-heading {gap:8px;padding-bottom:10px;}
  #priceForecast #forecastAsset {font-size:23px;line-height:1.3;}
  #priceForecast #forecastPrice {font-size:24px;line-height:1.4;}
  #priceForecast #forecastSource {font-size:var(--ui-label-size);line-height:1.5;margin-top:3px;}
  #priceForecast #forecastRefresh {min-height:44px;font-size:var(--ui-label-size);padding:8px;}
  #priceForecast .forecast-market-metrics {gap:12px;padding-top:10px;}
  #priceForecast .forecast-market-metrics dt {font-size:var(--ui-label-size);line-height:1.5;}
  #priceForecast .forecast-market-metrics dd {font-size:15px;line-height:1.5;}
  #priceForecast .forecast-chart-controls {gap:8px;margin-bottom:10px;}
  #priceForecast #forecastFrames {gap:3px;}
  #priceForecast #forecastFrames button {padding:8px;}
  #priceForecast #forecastExpand {font-size:var(--ui-label-size);padding:8px;}
  #priceForecast .forecast-density {gap:6px;}
  #priceForecast .forecast-study-toolbar {gap:8px;margin-bottom:10px;}
  #priceForecast #forecastStudyToggle {min-height:44px;font-size:12px;}
  #priceForecast .forecast-active-studies {font-size:var(--ui-label-size);line-height:1.5;gap:5px;}
  #priceForecast .forecast-readout {padding:10px 0;}
  #priceForecast .forecast-readout-date {font-size:var(--ui-label-size);margin-bottom:8px;}
  #priceForecast .forecast-readout dl {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;}
  #priceForecast .forecast-readout dd {font-size:13px;line-height:1.5;}
  #priceForecast .forecast-chart-navigation {gap:8px;padding-top:10px;}
  #priceForecast .forecast-chart-navigation button {font-size:var(--ui-label-size);padding:8px;}
  #priceForecast .forecast-study-menu {position:fixed;inset:auto 8px max(8px,env(safe-area-inset-bottom));width:auto;max-height:min(640px,80dvh);padding:12px 12px 0;border-radius:14px;z-index:20;}
  #priceForecast .forecast-study-menu>header {position:sticky;top:-12px;z-index:1;background:var(--fc-bg);padding:10px 0;align-items:center;}
  #priceForecast .forecast-study-menu>header h3 {font-size:16px;}
  #priceForecast .forecast-study-menu>footer {margin:12px -12px 0;padding:10px 12px;gap:6px;}
  #priceForecast .forecast-study-menu>footer button {font-size:12px;padding:8px 10px;}
  #priceForecast #forecastStudyClose,#priceForecast .forecast-study-presets button {min-height:44px;}
  #priceForecast #forecastOverlayOptions label {font-size:13px;}
  #priceForecast #forecastOverlayOptions label small {font-size:var(--ui-label-size);}
  #priceForecast #forecastStudyCount {font-size:var(--ui-label-size);}
  #priceForecast .forecast-tools h4,#priceForecast .forecast-perspectives h3,
  #priceForecast .forecast-scenarios h3 {font-size:16px;line-height:1.4;}
  #priceForecast .forecast-study-card {padding:12px;}
  #priceForecast .forecast-study-card h4 {font-size:13px;}
  #priceForecast .forecast-horizon>header {min-height:0;gap:8px;flex-wrap:wrap;}
  #priceForecast .forecast-horizon>strong {font-size:18px;line-height:1.4;}
  #priceForecast .forecast-horizon dl {gap:8px;}
  #priceForecast .forecast-horizon dt {font-size:var(--ui-label-size);line-height:1.5;}
  #priceForecast .forecast-horizon dd {font-size:12px;line-height:1.5;}

  #researchHub .hub-arrow {width:44px;height:44px;margin-top:0;}
  #researchHub .hub-content h3 {font-size:15px;line-height:1.45;margin-bottom:8px;}
  #researchHub .hub-content :is(p,li,summary,a) {font-size:var(--ui-body-size);line-height:1.6;}
  #researchHub .hub-content summary {min-height:44px;padding:10px 0;cursor:pointer;}
  #researchHub .hub-content details[open]>summary {margin-bottom:8px;border-bottom:1px solid var(--page-line);}
  #researchHub .research-table :is(th,td) {padding:9px 10px;font-size:12px;line-height:1.5;}
  #researchHub .research-table-wrap {touch-action:pan-x pan-y;}

  #chartDialog #closeChart {min-height:44px;padding:8px 12px;font-size:12px;}
  #chartDialog .chart-heading h2 {font-size:22px;}
  #chartDialog .chart-heading p {font-size:12px;line-height:1.5;}
  #chartDialog .chart-controls {gap:8px;}
  #chartDialog .chart-controls button {min-height:44px;font-size:12px;padding:8px;}
  #chartDialog .chart-controls label {font-size:12px;}
  #chartDialog .chart-controls select {min-height:44px;font-size:16px;}
  #chartDialog .chart-navigation button {min-height:44px;font-size:12px;padding:8px;}
  #chartDialog .chart-readout {font-size:12px;line-height:1.6;}
}
@media (max-width:379px) {
  #signalsWorkspace .opportunities-heading {flex-wrap:wrap;}
  #signalsWorkspace .opportunities-heading>div {flex-basis:100%;}
  #signalsWorkspace .opportunities-guide {margin-top:0;}
  #paperTrading .paper-ledger-tabs {grid-template-columns:repeat(6,minmax(0,1fr));}
  #paperTrading .paper-ledger-tabs button {grid-column:span 2;}
  #paperTrading .paper-ledger-tabs button:nth-last-child(-n+2) {grid-column:span 3;}
  #priceForecast .forecast-horizon-cards {grid-template-columns:minmax(0,1fr);}
}
