/* Research workspace: readable defaults and the same task model at every size. */
:root { --text-muted:#9aa6bd; --text-faint:#8996ad; --border-soft:#232d40; }
html { scroll-padding-top:160px; }
body { font-size:14px; line-height:1.5; }
#app { max-width:1600px; padding:24px 28px 48px; }
.topbar { position:relative; z-index:200; background:transparent; border:0; box-shadow:none; padding:0 2px 18px; }
.brand-title { font-size:18px; letter-spacing:.1em; }
.brand-subtitle { font-size:11px; text-transform:none; letter-spacing:.02em; }
.brand-mark { box-shadow:none; width:38px; height:38px; }
.context-rail { grid-template-columns:minmax(150px,.75fr) minmax(310px,1.5fr) minmax(130px,.65fr) minmax(180px,1fr); gap:16px; padding:14px 18px; top:0; border-radius:14px; }
.context-expand { display:none; }
#context-cutoff { display:none; }
.context-field > span,.context-price > span:first-child,.context-asof > span,.context-timeframes legend { font-size:10px; letter-spacing:.06em; }
.context-field select { min-height:44px; }
.context-timeframes .control-group { grid-template-columns:repeat(7,minmax(0,1fr)); }
.context-timeframes .control-btn { min-height:40px; padding:7px 4px; font-size:12px; }
.context-asof strong { font-size:11px; white-space:normal; line-height:1.4; }
.context-quality { font-size:10px; line-height:1.5; }
.task-nav { display:flex; position:sticky; top:var(--task-nav-sticky-top,110px); z-index:105; gap:6px; padding:6px; margin:14px 0; width:max-content; max-width:100%; border:1px solid var(--border-soft); border-radius:12px; background:rgba(9,13,21,.96); }
.task-nav-item { min-height:44px; min-width:110px; padding:8px 22px; border-radius:8px; color:var(--text-secondary); font:700 14px var(--font-display); }
.task-nav-item.active { color:var(--text-primary); background:var(--smart-soft); box-shadow:inset 0 0 0 1px #706299; }
.view-toolbar { position:sticky; top:var(--task-nav-sticky-top,110px); z-index:105; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; margin-bottom:6px; background:var(--bg-deep); }
.view-toolbar .task-nav { position:static; margin:0; }
.view-toolbar .source-details { margin:0; }
.view-toolbar .source-details[open] .status-strip { position:absolute; right:0; top:calc(100% - 4px); z-index:120; max-width:600px; padding:16px; background:var(--bg-card); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow-card); }
.source-details { color:var(--text-muted); font-size:12px; margin:0 0 18px; }
.source-details > summary { cursor:pointer; width:max-content; max-width:100%; min-height:30px; }
.source-details > summary span { color:var(--text-muted); margin-left:10px; font-size:11px; }
.source-details .status-strip { margin:10px 0; display:flex; flex-wrap:wrap; gap:8px; }
.source-details .status-pill { min-height:36px; padding:8px 10px; font-size:11px; }
.main-grid { display:grid; grid-template-columns:minmax(380px,1fr) minmax(0,1.25fr); gap:20px; }
body[data-task-view="brief"] #chart-workspace { order:2; }
body[data-task-view="brief"] .prediction-panel { order:1; gap:18px; }
body[data-task-view="brief"] .analyst-secondary,
body[data-task-view="brief"] .analysis-disclosure,
body[data-task-view="brief"] #mobile-journal { display:none !important; }
body[data-task-view="chart"] .main-grid { display:block; }
body[data-task-view="chart"] .prediction-panel,
body[data-task-view="chart"] .analyst-secondary,
body[data-task-view="chart"] .analysis-disclosure,
body[data-task-view="chart"] #mobile-journal { display:none !important; }
body[data-task-view="analysis"] .main-grid,
body[data-task-view="analysis"] #chart-workspace,
body[data-task-view="analysis"] .prediction-panel { display:contents; }
body[data-task-view="analysis"] #mobile-chart,
body[data-task-view="analysis"] #decision-brief-card,
body[data-task-view="analysis"] #trade-plan-card,
body[data-task-view="analysis"] #mobile-journal { display:none !important; }
body[data-task-view="analysis"] .analyst-secondary { display:block; }
body[data-task-view="analysis"] .indicators-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-task-view="journal"] .main-grid,
body[data-task-view="journal"] .analyst-secondary,
body[data-task-view="journal"] .analysis-disclosure { display:none !important; }
body[data-task-view="journal"] #mobile-journal { display:block; margin:0; }
.card { border-radius:16px; box-shadow:0 1px 0 rgba(255,255,255,.025) inset; }
.card-header { padding:16px 18px; }
.card-title { font-size:12px; letter-spacing:.06em; line-height:1.5; }
.mini-btn,.chart-tab,.opps-tab { min-height:40px; padding:9px 13px; font-size:12px; letter-spacing:0; }
.mini-btn.primary { background:#8170eb; color:#fff; box-shadow:none; }
.mini-btn.primary:hover { background:#9787fa; }
.decision-brief-grid { padding:18px; gap:18px; }
.decision-action-box { background:var(--bg-base); min-height:88px; padding:14px; }
.decision-action-label { font-size:21px; letter-spacing:.04em; min-height:40px; }
.decision-confidence { font-size:12px; line-height:1.6; }
.decision-action-box { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); column-gap:12px; min-height:0; }
.decision-action-label { grid-row:1/3; font-size:17px; align-self:center; }
.decision-confidence { text-align:right; margin:0; }
.decision-headline { font-size:20px; line-height:1.45; letter-spacing:-.025em; margin-bottom:16px; }
.decision-row { grid-template-columns:108px minmax(0,1fr); gap:14px; padding:12px 0; }
.decision-row-label { font:700 11px/1.5 var(--font-display); text-transform:none; letter-spacing:0; color:var(--text-secondary); }
.decision-row-text { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.decision-risk-title { font-size:11px; }
.decision-risk-chip { font-size:12px; white-space:normal; }
.brief-actions { padding:0 18px 18px; }
.brief-actions .mini-btn { min-height:44px; }
.method-note { margin:0 18px 18px; }
.method-note > summary { min-height:40px; font-size:12px; }
.method-note p { font-size:13px; line-height:1.65; }
.chart-identity { font-size:11px; line-height:1.6; padding:12px 18px; }
#main-chart-wrap { height:460px; min-height:320px; }
body[data-task-view="chart"] #main-chart-wrap { height:clamp(350px,60vh,720px); }
.chart-access { padding:14px 18px; font-size:12px; line-height:1.6; }
.chart-access > p { margin-bottom:8px; }
.chart-overlay-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px 18px; }
.overlay-stat { min-width:0; }.overlay-stat-label { font-size:10px; }.overlay-stat-value { font-size:13px; }
.analysis-heading { font-size:24px; letter-spacing:-.03em; text-transform:none; margin:22px 0 16px; }
.analysis-disclosure { border:1px solid var(--border-soft); border-radius:14px; margin:0 0 12px; background:var(--bg-card); overflow:hidden; }
.analysis-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:66px; padding:18px 22px; cursor:pointer; font-weight:700; font-size:15px; }
.analysis-disclosure > summary::after { content:'+'; color:var(--smart); font-size:22px; }
.analysis-disclosure[open] > summary::after { content:'−'; }
.analysis-disclosure[open] > summary { border-bottom:1px solid var(--border-soft); }
.analysis-disclosure > .card,.analysis-disclosure > .pred-main-card { border:0; margin:0; border-radius:0; }
.analysis-disclosure > .indicators-row { margin:0; gap:0; }
.analysis-disclosure > .indicators-row > .card { border:0; border-radius:0; }
.signal-list,.story-list { font-size:13px; line-height:1.6; }
.signal-detail,.signal-reason,.smart-meta { font-size:12px; line-height:1.6; }
.trade-plan-prefs { gap:8px; flex-wrap:wrap; }
.trade-plan-prefs-label { font-size:12px; }.trade-plan-prefs input { font-size:14px; }
.empty-note,#accepted-risk-basis { font-size:13px; line-height:1.6; }
.journal-toolbar,.journal-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:16px; }
.journal-toolbar input { flex:1 1 220px; }.journal-toolbar select { flex:0 1 180px; }
.journal-toolbar label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--text-secondary); flex:1 1 200px; min-width:0; }
.journal-toolbar label input,.journal-toolbar label select { flex:none; width:100%; min-width:0; }
.journal-snapshot-details { margin:12px 0 0; }.journal-snapshot-details > summary { width:max-content; font-size:11px; min-height:32px; }
.journal-snapshot-details p { overflow-wrap:anywhere; }
.journal-toolbar input,.journal-toolbar select { min-height:44px; padding:10px 12px; font-size:14px; }
#journal-note-editor { padding:18px; border:1px solid var(--border); border-radius:12px; background:var(--bg-base); margin-bottom:16px; }
#journal-note-editor label { display:block; font-weight:700; margin-bottom:8px; }
textarea { width:100%; resize:vertical; min-height:110px; background:var(--bg-card); color:var(--text-primary); border:1px solid var(--border); border-radius:9px; padding:12px; font:14px/1.6 var(--font-display); }
.journal-row { padding:18px; border-radius:12px; margin-bottom:12px; }
.journal-note { font-size:14px; }.journal-identity { overflow-wrap:anywhere; font-size:12px; line-height:1.6; margin:10px 0; }
.journal-feedback { font-size:13px; line-height:1.6; }.journal-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.journal-compare-select { display:inline-flex; gap:6px; align-items:center; min-height:40px; font-size:13px; }
#journal-comparison { overflow:auto; margin:16px 0; padding:16px; background:var(--bg-base); border-radius:12px; }
.journal-comparison-table { width:100%; border-collapse:collapse; font-size:13px; }.journal-comparison-table th,.journal-comparison-table td { padding:10px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; min-width:110px; }
.footer-note { margin-top:28px; font-size:10px; letter-spacing:.02em; color:var(--text-muted); }
.mobile-tabbar { display:none; }
.load-error-group { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; max-width:360px; margin:0 auto; text-align:center; }
@media (max-width:1100px) {
  #app { padding:16px 18px 40px; }
  .context-rail { grid-template-columns:minmax(140px,.8fr) minmax(280px,1.6fr) minmax(120px,.7fr); gap:12px; }
  .context-asof { grid-column:1/-1; flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:5px 14px; }
  .context-asof strong { flex:1; min-width:180px; }
  .context-quality { max-width:100%; }
  .main-grid { grid-template-columns:minmax(340px,1fr) minmax(0,1fr); }
  .decision-headline { font-size:18px; }.decision-row { grid-template-columns:1fr; gap:4px; }
}
@media (max-width:800px) {
  #app { padding:12px 14px 100px; }
  .topbar { min-height:48px; margin-bottom:8px; padding-bottom:8px; }
  .brand-title { font-size:15px; }.brand-subtitle { display:none; }.header-health { display:none; }
  .context-rail { position:sticky; top:0; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:10px 12px; border-radius:12px; }
  .context-field { grid-column:auto; }.context-field > span { display:none; }
  .context-field .asset-select { min-height:40px; min-width:0; padding:7px 9px; font-size:13px; }
  .context-expand { display:flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:8px; border:1px solid var(--border); border-radius:9px; color:var(--text-secondary); font-size:12px; }
  .context-expand > span:first-child { color:var(--text-primary); font-weight:800; }
  .context-timeframes { display:none; grid-column:1/-1; }.context-rail.context-expanded .context-timeframes { display:block; }
  .context-timeframes .control-group { grid-template-columns:repeat(7,minmax(0,1fr)); }
  .context-timeframes .control-btn { min-height:44px; font-size:11px; }
  .context-price { grid-column:1; display:flex; flex-direction:row; flex-wrap:wrap; gap:6px; align-items:center; }
  .context-price > span:first-child { display:none; }.context-price strong { font-size:17px; }
  .context-asof { grid-column:2; flex-direction:column; align-items:flex-end; gap:0; text-align:right; max-width:155px; }
  .context-asof > span:first-child { display:none; }.context-asof strong { display:none; }
  #context-cutoff { display:block; font:600 10px/1.5 var(--font-display); color:var(--text-secondary); text-transform:none; letter-spacing:0; }
  .context-quality { font-size:10px; max-height:30px; overflow:hidden; }
  .task-nav { display:none; }
  .view-toolbar { position:relative; top:auto; margin:0; padding:4px 0; min-height:38px; }
  .view-toolbar .source-details[open] .status-strip { left:0; right:0; max-width:none; }
  .mobile-tabbar { position:fixed; z-index:160; display:grid; grid-template-columns:repeat(4,1fr); left:12px; right:12px; bottom:8px; padding:6px 6px calc(6px + env(safe-area-inset-bottom)); border:1px solid var(--border); border-radius:16px; background:rgba(10,14,23,.96); backdrop-filter:blur(20px); box-shadow:0 8px 26px rgba(0,0,0,.4); }
  .mobile-tabbar-item { min-height:48px; font-size:12px; border-radius:10px; }
  .source-details { margin:10px 0; font-size:12px; }
  .source-details > summary { min-height:36px; }.source-details > summary span { display:none; }
  body[data-task-view="brief"] #chart-workspace { display:none; }
  .main-grid, .prediction-panel { display:block; }
  .decision-brief-grid { padding:16px; gap:14px; }.decision-headline { font-size:21px; }
  .decision-action-box { min-height:0; }.decision-action-label { font-size:19px; }
  .decision-row { padding:10px 0; }.decision-row-text { font-size:14px; }
  #trade-plan-card { margin-top:16px; }
  .brief-actions { padding:0 16px 16px; }.brief-actions .mini-btn { flex:1 1 140px; }
  .card-header { padding:14px 16px; }.chart-card .card-header { flex-wrap:wrap; gap:10px; }
  .overlay-menu { margin-left:0; }.overlay-menu > summary { min-height:44px; }
  .chart-tabs { position:fixed; top:80px; left:12px; right:12px; width:auto; max-height:calc(100dvh - 180px); padding:12px; overflow:auto; grid-template-columns:1fr; }
  .chart-overlay-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px; }
  .overlay-stat-label { font-size:9px; }.overlay-stat-value { font-size:11px; }
  body[data-task-view="analysis"] .indicators-row { grid-template-columns:1fr; }
  .analysis-disclosure > summary { min-height:62px; font-size:14px; padding:15px; }
  .analysis-heading { font-size:22px; margin-top:16px; }.analysis-disclosure { margin-bottom:10px; }
  .trade-plan-prefs { display:grid; grid-template-columns:auto minmax(0,1fr); width:100%; }
  .trade-plan-prefs input { width:100% !important; min-height:44px; }#apply-risk-btn { grid-column:1/-1; }
  .journal-tools .mini-btn { flex:1 1 140px; }.journal-toolbar { align-items:stretch; }
}
@media (min-width:801px) and (max-width:1023px) {
  body[data-task-view="brief"] .main-grid > #chart-workspace { display:block; }
  body[data-task-view="brief"] .prediction-panel { display:flex; }
  body[data-task-view="brief"] #mobile-chart { display:block !important; }
}
@media (max-width:380px) {
  #app { padding-left:10px; padding-right:10px; }.context-rail { gap:6px; padding:9px; }
  .context-expand { font-size:11px; }.brand-title { font-size:13px; }.brand-mark { width:32px; height:32px; }
  .context-asof { max-width:135px; }.context-price strong { font-size:15px; }
  .chart-overlay-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
