:root {
  --ink: #17201c; --muted: #6f7773; --paper: #f3f1eb; --card: #fbfaf6;
  --line: #d8d7d0; --green: #1b5e4b; --green-soft: #dce8e1;
  --amber: #9a742d; --amber-soft: #eee6d3; --red: #91483e; --red-soft: #eee0dc;
  --blue: #486676; --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, "Segoe UI", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 14px/1.45 var(--sans); }
button { font: inherit; }
body.drawer-open { overflow: hidden; }
.app-topbar { height: 62px; padding: 0 max(24px, calc((100vw - 1320px) / 2)); display: flex; align-items: center; gap: 52px; position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgb(243 241 235 / 94%); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; font: 700 19px var(--serif); }
.brand span { width: 28px; height: 28px; display: grid; place-items: center; color: white; background: var(--green); }
.app-topbar nav { display: flex; gap: 26px; }
.app-topbar nav a { padding:22px 0 18px; color: var(--muted); border-bottom:3px solid transparent; font-size: 11px; text-decoration: none; }
.app-topbar nav a:hover,.app-topbar nav a[aria-current="page"] { color: var(--ink); border-bottom-color:var(--green); }
.mock-badge { margin-left: auto; padding: 6px 9px; color: var(--green); border: 1px solid #b9cbc2; font-size: 9px; letter-spacing: .06em; }
main { max-width: 1320px; margin: 0 auto; }
.summary-shell { padding: 58px 24px 36px; }
.summary-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; letter-spacing: .14em; }
.summary-label span { color: var(--green); font-weight: 700; }
h1 { margin: 24px 0 36px; max-width: 1100px; font: 400 clamp(30px, 4.2vw, 56px)/1.08 var(--serif); letter-spacing: -.025em; }
.tension-row { display: grid; grid-template-columns: 1fr 2fr; border-block: 1px solid var(--line); }
.core-tension { padding: 18px 24px 18px 0; border-right: 1px solid var(--line); }
.core-tension span, .state-tags small { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; letter-spacing: .12em; }
.core-tension strong { font: 400 22px var(--serif); }
.core-tension i { color: var(--amber); font-weight: 400; }
.state-tags { display: grid; grid-template-columns: repeat(4, 1fr); }
.state-tags > button { padding: 17px 20px; border: 0; border-right: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; font-size: 12px; font-weight: 700; }
.state-tags > button:last-child { border: 0; }
.state-tags > button:hover { background: var(--green-soft); }
.state-tags i { float: right; color: var(--green); font-size: 8px; font-style: normal; font-weight: 400; }
.state-tags .risk { color: var(--red); }
.dashboard-section { padding: 44px 24px; border-top: 1px solid var(--line); }
.needs-review-section { padding-top: 30px; padding-bottom: 30px; background: rgb(251 250 246 / 55%); }
.daily-inbox-summary { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:14px; border:1px solid var(--line); background:var(--card); }
.daily-inbox-summary > div { min-height:64px; padding:11px 13px; border-right:1px solid var(--line); }
.daily-inbox-summary > div:last-child { border-right:0; }
.daily-inbox-summary span { display:block; color:var(--muted); font-size:8px; }
.daily-inbox-summary strong { display:block; margin-top:5px; font:400 22px var(--serif); }
.needs-review-list { border-top: 1px solid var(--ink); }
.needs-review-item { min-height: 82px; display: grid; grid-template-columns: 1.05fr 1.15fr .8fr 1.3fr .9fr 142px; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); }
.needs-review-item > div { min-width: 0; }
.needs-review-item span,.needs-review-item small { display: block; color: var(--muted); font-size: 8px; letter-spacing: .06em; }
.needs-review-item strong { display: block; margin-top: 6px; font: 400 12px var(--serif); line-height: 1.35; }
.needs-review-item p { margin: 6px 0 0; color: #46504b; font-size: 9px; line-height: 1.45; }
.needs-review-item button { padding: 9px 10px; border: 1px solid var(--ink); color: white; background: var(--ink); cursor: pointer; font-size: 9px; }
.needs-review-actions { display:flex; gap:5px; }
.needs-review-actions button { flex:1; padding-inline:6px; }
.needs-review-actions button:first-child { color:var(--green); border-color:var(--green); background:transparent; }
.needs-review-item.reviewed { opacity: .62; }.needs-review-item.reviewed button { color: var(--green); border-color: var(--green); background: transparent; cursor: default; }
.needs-review-empty { padding: 18px; display: flex; justify-content: space-between; gap: 18px; color: var(--green); background: var(--green-soft); }
.needs-review-empty strong { font: 400 15px var(--serif); }.needs-review-empty span { color: var(--muted); font-size: 9px; }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 25px; }
.section-header > div:first-child { display: flex; align-items: flex-end; gap: 14px; }
.section-index { color: #a4aaa7; font: italic 16px var(--serif); }
.section-header p, .panel header p { margin: 0 0 4px; color: var(--green); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.section-header h2, .panel h2 { margin: 0; font: 400 28px var(--serif); }
.section-hint, .micro-note { color: var(--muted); font-size: 9px; }
.range-tabs { display: flex; gap: 2px; }
.range-tabs button { min-width: 38px; padding: 7px 8px; border: 0; color: var(--muted); background: transparent; cursor: pointer; font-size: 9px; }
.range-tabs button:hover, .range-tabs button.active { color: white; background: var(--ink); }
.asset-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.asset-card { min-width: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgb(251 250 246 / 42%); }
.asset-card, .signal-item, .theme-row, .company-row, .holding, .event-item { cursor: pointer; }
.integrated-entry { box-shadow: inset 2px 0 var(--green); }
.asset-card:hover, .signal-item:hover, .theme-row:hover, .company-row:hover, .holding:hover, .event-item:hover { background-color: rgb(220 232 225 / 45%); }
.asset-card:focus-visible, .signal-item:focus-visible, .theme-row:focus-visible, .company-row:focus-visible, .holding:focus-visible, .event-item:focus-visible { outline: 1px solid var(--green); outline-offset: -2px; }
.asset-top, .asset-values { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.asset-top span { color: var(--muted); font-size: 8px; letter-spacing: .08em; }
.asset-top strong { font: 600 14px var(--serif); }
.asset-values { margin: 13px 0 5px; }
.asset-values strong { font: 400 24px var(--serif); }
.change { font-size: 11px; font-weight: 700; }
.positive { color: var(--green); } .negative { color: var(--red); } .neutral { color: var(--muted); }
.sparkline { display: block; width: 100%; height: 45px; margin-top: 9px; overflow: visible; }
.chart-wrap { position: relative; outline: none; touch-action: pan-y; }
.chart-wrap:focus-visible { box-shadow: 0 0 0 1px var(--green); }
.chart-cursor { stroke: #8d9691; stroke-width: .7; stroke-dasharray: 2 2; opacity: 0; }
.chart-point { fill: var(--card); stroke: currentColor; stroke-width: 1.5; opacity: 0; }
.chart-tooltip { position: absolute; top: -30px; z-index: 3; display: none; min-width: 78px; padding: 6px 8px; color: white; background: var(--ink); transform: translateX(-50%); pointer-events: none; box-shadow: 0 5px 14px rgb(0 0 0 / 12%); }
.chart-tooltip span, .chart-tooltip strong { display: block; white-space: nowrap; }
.chart-tooltip span { color: #bdc6c1; font-size: 8px; }
.chart-tooltip strong { margin-top: 1px; font: 400 12px var(--serif); }
.chart-wrap.inspecting .chart-cursor, .chart-wrap.inspecting .chart-point { opacity: 1; }
.chart-wrap.inspecting .chart-tooltip { display: block; }
.sparkline .area { opacity: .09; } .sparkline .line { fill: none; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.asset-card.positive-card .line { stroke: var(--green); } .asset-card.positive-card .area { fill: var(--green); }
.asset-card.negative-card .line { stroke: var(--red); } .asset-card.negative-card .area { fill: var(--red); }
.positive-card .line { stroke: var(--green); } .positive-card .area { fill: var(--green); }
.micro-note { margin: 12px 0 0; }
.priority-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.panel { padding: 36px 24px; min-width: 0; }
.panel + .panel { border-left: 1px solid var(--line); }
.panel header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 25px; }
.panel header > span { color: var(--muted); font-size: 9px; }
.meter-list { display: grid; gap: 12px; }
.regime-metric { min-height: 58px; padding: 10px 0; display: grid; grid-template-columns: 92px 52px 1fr 42px; align-items: center; gap: 10px; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.regime-metric:hover { background: rgb(220 232 225 / 45%); }
.regime-metric > span { font-size: 10px; }
.regime-metric > strong { font: 400 17px var(--serif); }
.regime-metric > small { color: var(--muted); font-size: 9px; }
.regime-metric > i { color: var(--green); font-size: 8px; font-style: normal; }
.meter { display: grid; grid-template-columns: 82px 1fr 48px; align-items: center; gap: 12px; }
.meter > span, .meter > b { font-size: 9px; }
.meter > b { text-align: right; color: var(--muted); }
.meter-track { height: 5px; background: #dfe0da; }
.meter-track i { display: block; height: 100%; background: var(--green); }
.regime-line { margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); font: 400 17px var(--serif); }
.regime-line i { margin: 0 6px; color: var(--amber); }
.review-dot { padding: 5px 8px; color: var(--red) !important; background: var(--red-soft); font-weight: 700; }
.review-dot.cleared { color: var(--green) !important; background: var(--green-soft); }
.allocation { display: flex; height: 35px; margin-bottom: 20px; overflow: hidden; }
.allocation span { flex: var(--size); display: flex; align-items: center; justify-content: space-between; min-width: 78px; padding: 0 10px; color: white; background: var(--green); font-size: 8px; }
.allocation span:nth-child(2) { background: var(--blue); } .allocation span:nth-child(3) { color: var(--ink); background: #d9d6cb; }
.holding-list { border-top: 1px solid var(--line); }
.holding { display: grid; grid-template-columns: 1fr 70px 90px 65px; align-items: center; min-height: 40px; border-bottom: 1px solid var(--line); font-size: 10px; }
.holding small { color: var(--muted); }
.state { width: max-content; padding: 4px 7px; font-size: 8px; font-weight: 700; }
.state.stable { color: var(--green); background: var(--green-soft); }
.state.watch, .state.wait { color: var(--amber); background: var(--amber-soft); }
.state.review { color: var(--red); background: var(--red-soft); }
.signal-list { border-top: 1px solid var(--ink); }
.signal-item { display: grid; grid-template-columns: 42px 1.1fr 1fr 60px; align-items: center; min-height: 56px; border-bottom: 1px solid var(--line); }
.signal-number { color: #a2a8a5; font: italic 15px var(--serif); }
.signal-formula { font: 600 17px var(--serif); }
.signal-meaning { font-size: 11px; }
.why-button, .text-button { padding: 0; border: 0; color: var(--green); background: transparent; cursor: pointer; font-size: 9px; }
.signal-why { grid-column: 2 / 5; margin: 0 0 14px; padding: 10px 12px; color: var(--muted); background: #ebe9e1; font-size: 10px; }
.theme-list { border-top: 1px solid var(--ink); }
.theme-head, .theme-row { display: grid; grid-template-columns: 1.35fr .85fr .7fr .85fr .9fr .55fr; align-items: center; gap: 12px; }
.theme-head { min-height: 34px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 8px; }
.theme-row { min-height: 54px; border-bottom: 1px solid var(--line); }
.theme-row > strong { font: 400 15px var(--serif); }
.metric-value { color: var(--ink); font-size: 10px; }
.region-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.region { min-height: 210px; padding: 18px; border-right: 1px solid var(--line); }
.region:last-child { border: 0; }
.region-top { display: flex; justify-content: space-between; align-items: center; }
.region-top strong { font: 400 21px var(--serif); }
.region-top button { padding: 3px 0; border: 0; color: var(--green); background: transparent; cursor: pointer; font-size: 8px; }
.region dl { margin: 18px 0 0; }
.region dl div { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid var(--line); }
.region dt { color: var(--muted); font-size: 8px; }
.region dd { margin: 0; text-align: right; font-size: 9px; }
.watchlist { border-top: 1px solid var(--ink); }
.watch-head, .company-row { display: grid; grid-template-columns: 1.4fr .8fr .8fr 1.2fr .65fr; align-items: center; gap: 14px; }
.watch-head { min-height: 34px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 8px; letter-spacing: .08em; }
.company-row { min-height: 58px; border-bottom: 1px solid var(--line); }
.company-row > strong { font: 400 15px var(--serif); }
.qualifier { width: max-content; font-size: 9px; font-weight: 700; }
.qualifier.strong, .qualifier.attractive { color: var(--green); }
.qualifier.medium, .qualifier.fair { color: var(--amber); }
.qualifier.weak, .qualifier.expensive { color: var(--red); }
.company-spark { width: 100%; height: 27px; }
.journal-compact { padding-bottom: 30px; }
.thesis-row { display: grid; grid-template-columns: 120px 1.7fr 130px 100px; align-items: center; gap: 20px; min-height: 70px; padding: 0 18px; border: 1px solid var(--line); background: var(--card); }
.thesis-row > div { display: flex; gap: 8px; align-items: center; }
.thesis-row time { color: var(--muted); font-size: 8px; }
.thesis-row > strong { font: 400 16px var(--serif); }
.thesis-row > span { font-size: 10px; }
.thesis-row small { display: block; color: var(--muted); font-size: 8px; }
.status { width: max-content; padding: 4px 7px; font-size: 8px; font-weight: 700; }
.status.active,.status.stable { color: var(--green); background: var(--green-soft); }
.status.review { color: var(--red); background: var(--red-soft); }
.journal-detail { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-top: 0; background: #ebe9e1; }
.journal-detail > div { padding: 14px 18px; }
.journal-detail > div + div { border-left: 1px solid var(--line); }
.journal-detail span { color: var(--muted); font-size: 8px; letter-spacing: .1em; }
.journal-detail p { margin: 6px 0 0; font-size: 10px; }
.event-timeline { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.event-item { min-height: 90px; padding: 18px; border-right: 1px solid var(--line); }
.event-item:last-child { border: 0; }
.event-item time { color: var(--green); font: 400 18px var(--serif); }
.event-item strong { display: block; margin-top: 13px; font: 400 15px var(--serif); }
.event-item small { display: block; margin-top: 5px; color: var(--muted); }
.research-layer[hidden] { display: none; }
.research-layer { position: fixed; inset: 0; z-index: 30; }
.research-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgb(23 32 28 / 45%); backdrop-filter: blur(2px); cursor: default; }
.research-drawer { position: absolute; top: 0; right: 0; width: min(720px, 72vw); height: 100%; display: grid; grid-template-rows: auto 1fr auto; color: var(--ink); background: var(--paper); box-shadow: -18px 0 45px rgb(0 0 0 / 16%); outline: none; animation: drawer-in .22s ease-out; }
@keyframes drawer-in { from { transform: translateX(35px); opacity: 0; } }
.drawer-header { min-height: 88px; padding: 20px 28px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); background: var(--card); }
.drawer-header span { color: var(--green); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.drawer-header h2 { margin: 5px 0 0; font: 400 27px var(--serif); }
.drawer-close { width: 35px; height: 35px; border: 1px solid var(--line); color: var(--muted); background: transparent; cursor: pointer; font-size: 22px; }
.drawer-close:hover { color: white; background: var(--ink); }
.drawer-body { overflow-y: auto; padding: 24px 28px 50px; }
.drawer-footer { padding: 13px 28px; display: flex; justify-content: space-between; color: var(--muted); border-top: 1px solid var(--line); background: var(--card); font-size: 8px; }
.research-trigger { margin-bottom: 18px; padding: 14px 16px; display: flex; justify-content: space-between; gap: 20px; color: #f7f5ef; background: var(--ink); }
.research-trigger span { color: #9fb2a9; font-size: 8px; letter-spacing: .12em; }
.research-trigger span small { display: block; margin-top: 5px; color: #84958d; font-size: 7px; letter-spacing: .04em; }
.research-trigger strong { text-align: right; font: 400 14px var(--serif); }
.research-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 18px; border: 1px solid var(--line); background: var(--card); }
.research-summary > div { min-height: 66px; padding: 12px; border-right: 1px solid var(--line); }
.research-summary > div:last-child { border: 0; }
.research-summary small, .research-card > span, .research-flow > span { display: block; color: var(--muted); font-size: 8px; letter-spacing: .1em; }
.research-summary strong { display: block; margin-top: 7px; font: 400 15px var(--serif); }
.research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.research-card { min-width: 0; padding: 16px; border: 1px solid var(--line); background: rgb(251 250 246 / 58%); }
.research-card.wide { grid-column: 1 / -1; }
.research-card h3 { margin: 7px 0 10px; font: 400 18px var(--serif); }
.research-card p { margin: 0; color: #46504b; font-size: 11px; line-height: 1.65; }
.research-card ul { margin: 8px 0 0; padding-left: 16px; }
.research-card li { margin: 6px 0; color: #46504b; font-size: 10px; line-height: 1.45; }
.research-card.counter { border-color: #d9c5c0; }
.research-card.counter h3, .research-card.counter li { color: var(--red); }
.research-card.next { border-color: #b9cec4; background: var(--green-soft); }
.research-card.next h3 { color: var(--green); }
.research-flow { grid-column: 1 / -1; padding: 16px; border: 1px solid var(--line); }
.flow-items { margin-top: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.flow-items b { padding: 7px 9px; color: var(--ink); background: #e4e2da; font-size: 9px; }
.flow-items i { color: var(--muted); font-style: normal; }
.relation-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; margin-top: 10px; }
.relation-list span { padding: 8px 10px; color: var(--muted); background: #e9e7e0; font-size: 9px; }
.research-chart { height: 120px; margin-top: 12px; }
.research-chart .sparkline { height: 120px; }
.drawer-link { padding: 0; border: 0; color: var(--green); background: none; cursor: pointer; font-size: 9px; text-decoration: underline; text-underline-offset: 3px; }
.integration-bridge { margin: 0 0 18px; padding: 17px 18px; display: grid; grid-template-columns: 1.2fr .75fr .55fr 1.1fr auto; align-items: center; gap: 16px; color: white; background: var(--ink); }
.integration-bridge div { min-width: 0; }
.integration-bridge span, .integration-bridge small { display: block; color: #9fb2a9; font-size: 8px; }
.integration-bridge span { margin-bottom: 5px; letter-spacing: .12em; }
.integration-bridge strong { display: block; font: 400 16px var(--serif); }
.integration-bridge small { margin-top: 5px; }
.integration-bridge .bridge-state strong { color: #e1e7e3; font: 400 10px/1.4 Arial,sans-serif; }
.bridge-actions { display: grid; gap: 7px; }
.integration-bridge a,.integration-bridge button { padding: 9px 11px; border: 0; color: var(--ink); background: #dce8e1; text-align: center; text-decoration: none; cursor: pointer; font-size: 9px; font-weight: 700; }
.integration-bridge button { color: white; border: 1px solid #62756c; background: transparent; }
.integration-bridge a:hover { background: white; }
.app-footer { max-width: 1320px; margin: 0 auto; padding: 24px; display: flex; justify-content: space-between; color: var(--muted); border-top: 1px solid var(--line); font-size: 9px; }
.app-footer span:first-child { color: var(--green); font-family: var(--serif); }

/* V0.5 unified app shell */
.app-view[hidden] { display:none !important; }
.workspace-list-view { min-height:calc(100vh - 120px); padding:48px 24px 80px; }
.workspace-view-header { max-width:900px; margin-bottom:28px; }
.workspace-view-header > span { color:var(--green); font-size:8px; font-weight:700; letter-spacing:.14em; }
.workspace-view-header h1 { margin:10px 0 12px; }
.workspace-view-header p { margin:0; color:var(--muted); }
.unified-thesis-list,.unified-portfolio-list { border-top:1px solid var(--ink); }
.unified-thesis-row { display:grid; grid-template-columns:1.4fr .55fr .7fr .75fr .65fr .8fr 1.4fr; align-items:center; gap:12px; min-height:76px; padding:10px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.unified-thesis-row:hover { background:rgb(220 232 225 / 45%); }
.unified-thesis-row > strong { font:400 16px var(--serif); }
.unified-thesis-row span,.unified-thesis-row small { color:var(--muted); font-size:8px; }
.unified-thesis-row b { font-size:9px; }
.unified-thesis-row button,.unified-portfolio-row button { padding:8px 10px; border:1px solid var(--ink); color:white; background:var(--ink); cursor:pointer; font-size:8px; }
.unified-portfolio-row { display:grid; grid-template-columns:1fr 1.2fr .7fr .8fr 1.6fr auto; gap:14px; align-items:center; min-height:78px; border-bottom:1px solid var(--line); }
.unified-portfolio-row > strong { font:400 15px var(--serif); }
.unified-portfolio-row span { color:var(--muted); font-size:8px; }
.unified-portfolio-actions { display:flex; gap:6px; }
.unified-portfolio-actions button:first-child { color:var(--green); border-color:var(--green); background:transparent; }
.forward-context-bar { min-height:48px; padding:0 24px; display:flex; align-items:center; gap:16px; border-bottom:1px solid var(--line); background:var(--card); }
.forward-context-bar button { padding:0; border:0; color:var(--green); background:transparent; cursor:pointer; font-size:9px; }
.forward-context-bar span { color:var(--muted); font-size:8px; }
.forward-context-bar b { margin-left:auto; color:var(--green); font-size:7px; letter-spacing:.08em; }
.toast { position: fixed; right: 22px; bottom: 22px; max-width: 320px; padding: 12px 15px; color: white; background: var(--ink); opacity: 0; transform: translateY(8px); transition: .18s; pointer-events: none; font-size: 10px; }
.toast.show { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .app-topbar nav { display: none; }
  .summary-shell { padding-top: 42px; }
  .tension-row, .priority-grid { grid-template-columns: 1fr; }
  .core-tension { border-right: 0; border-bottom: 1px solid var(--line); }
  .panel + .panel { border-left: 0; border-top: 1px solid var(--line); }
  .asset-grid { grid-template-columns: repeat(2, 1fr); }
  .region-grid { grid-template-columns: repeat(2, 1fr); }
  .region:nth-child(2) { border-right: 0; }
  .region:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .theme-head, .theme-row { grid-template-columns: 1.25fr .8fr .7fr .75fr .8fr .55fr; gap: 8px; }
  .watch-head, .company-row { grid-template-columns: 1.25fr .8fr .8fr .7fr; }
  .watch-head span:nth-child(4), .company-spark { display: none; }
  .thesis-row { grid-template-columns: 100px 1fr 110px; }
  .thesis-row > span:last-child { display: none; }
  .research-drawer { width: min(820px, 88vw); }
  .needs-review-item { grid-template-columns: 1fr 1fr 1fr; padding: 14px 0; }
  .needs-review-item button { width: max-content; }
  .integration-bridge { grid-template-columns: 1fr 1fr; }
  .bridge-title,.bridge-actions { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .app-topbar { padding-inline: 16px; }
  .mock-badge { max-width: 110px; text-align: center; }
  .summary-shell, .dashboard-section, .panel { padding-inline: 16px; }
  h1 { font-size: 34px; }
  .state-tags { grid-template-columns: repeat(2, 1fr); }
  .state-tags > button:nth-child(2) { border-right: 0; }
  .state-tags > button:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-header { align-items: flex-start; }
  .range-tabs { max-width: 190px; flex-wrap: wrap; justify-content: flex-end; }
  .asset-grid { grid-template-columns: 1fr 1fr; }
  .asset-card { padding: 13px; }
  .asset-values strong { font-size: 19px; }
  .holding { grid-template-columns: 1fr 60px 60px; }
  .holding > span:nth-child(3) { display: none; }
  .signal-item { grid-template-columns: 30px 1fr 50px; padding: 8px 0; }
  .signal-meaning { grid-column: 2; }
  .why-button { grid-column: 3; grid-row: 1 / 3; }
  .signal-why { grid-column: 2 / 4; }
  .theme-list { overflow-x: auto; }
  .theme-head, .theme-row { min-width: 660px; }
  .region-grid { grid-template-columns: 1fr 1fr; }
  .watch-head, .company-row { grid-template-columns: 1.3fr .8fr .8fr; }
  .watch-head span:last-child, .company-row > .state { display: none; }
  .thesis-row { grid-template-columns: 90px 1fr; padding: 12px; }
  .thesis-row > span { display: none; }
  .journal-detail { grid-template-columns: 1fr; }
  .journal-detail > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .app-footer { flex-direction: column; gap: 6px; }
  .daily-inbox-summary { grid-template-columns:repeat(2,1fr); }
  .unified-thesis-row,.unified-portfolio-row { grid-template-columns:1fr 1fr; padding:14px 0; }
  .unified-thesis-row > strong,.unified-portfolio-row > strong { grid-column:1 / -1; }
  .unified-thesis-row button,.unified-portfolio-actions { grid-column:1 / -1; }
  .event-timeline { grid-template-columns: 1fr; }
  .event-item { min-height: 66px; border-right: 0; border-bottom: 1px solid var(--line); }
  .research-drawer { width: 100%; }
  .drawer-header { min-height: 72px; padding: 15px 18px; }
  .drawer-body { padding: 18px 16px 38px; }
  .drawer-footer { padding-inline: 16px; }
  .research-summary { grid-template-columns: 1fr 1fr; }
  .research-summary > div:nth-child(2) { border-right: 0; }
  .research-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .research-grid { grid-template-columns: 1fr; }
  .research-card.wide, .research-flow { grid-column: 1; }
  .integration-bridge { align-items: flex-start; flex-direction: column; }
  .needs-review-item { grid-template-columns: 1fr; gap: 10px; }
  .integration-bridge { display: grid; grid-template-columns: 1fr; }
  .bridge-title,.bridge-actions { grid-column: 1; }
}

/* V0.5.1 readability and interaction polish */
:root { --serif: "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif; }
body { font-size:15px; line-height:1.6; background:linear-gradient(180deg,#f6f4ee 0,#f1efe8 460px); }
button, a, [role="button"] { -webkit-tap-highlight-color:transparent; }
button { border-radius:2px; transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease; }
button:not(:disabled):active { transform:translateY(1px); }
button:focus-visible,a:focus-visible,[role="button"]:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible { outline:3px solid rgb(27 94 75 / 25%) !important; outline-offset:3px !important; }
.app-topbar { height:68px; gap:42px; box-shadow:0 8px 30px rgb(23 32 28 / 4%); }
.brand { gap:10px; }
.brand b { font:700 19px var(--serif); }
.brand small { color:var(--muted); font:500 10px var(--sans); letter-spacing:.05em; }
.app-topbar nav { gap:8px; padding:4px; border:1px solid #deddd6; border-radius:7px; background:rgb(255 255 255 / 38%); }
.app-topbar nav a { min-width:74px; padding:8px 13px; border:0; border-radius:4px; font-size:12px; text-align:center; }
.app-topbar nav a:hover { border:0; background:var(--green-soft); }
.app-topbar nav a[aria-current="page"] { color:white; border:0; background:var(--ink); }
.mock-badge { font-size:10px; }
.summary-shell { padding-top:64px; }
.summary-label,.section-header p,.panel header p { font-size:10px; }
.summary-shell h1 { max-width:980px; font-size:clamp(34px,4vw,52px); line-height:1.16; }
.dashboard-section { padding-block:52px; }
.section-header h2,.panel h2 { font-size:30px; }
.section-hint,.micro-note { font-size:11px; line-height:1.6; }
.daily-inbox-summary { border-radius:5px; overflow:hidden; box-shadow:0 8px 24px rgb(23 32 28 / 4%); }
.daily-inbox-summary > div { min-height:76px; padding:14px 16px; }
.daily-inbox-summary span { font-size:10px; }
.daily-inbox-summary strong { font-size:25px; }
.needs-review-item { min-height:96px; padding-block:10px; }
.needs-review-item span,.needs-review-item small { font-size:10px; }
.needs-review-item strong { font-size:14px; }
.needs-review-item p { font-size:11px; }
.needs-review-actions button { min-height:40px; font-size:11px; font-weight:700; }
.asset-card { min-height:155px; padding:20px; transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.asset-card:hover,.signal-item:hover,.theme-row:hover,.company-row:hover,.holding:hover,.event-item:hover { box-shadow:inset 3px 0 var(--green); }
.asset-top span,.core-tension span,.state-tags small { font-size:10px; }
.asset-values strong { font-size:27px; }
.state-tags > button { min-height:76px; font-size:14px; }
.range-tabs button { min-width:44px; min-height:36px; font-size:11px; }
.regime-metric { min-height:66px; }
.regime-metric > span,.meter > span,.meter > b,.holding,.signal-meaning,.metric-value { font-size:11px; }
.regime-metric > small,.panel header > span { font-size:10px; }
.why-button,.text-button,.drawer-link { min-height:32px; font-size:11px; }
.signal-item,.theme-row,.company-row { min-height:64px; }
.theme-head,.watch-head { font-size:10px; }
.region dt,.region dd,.event-item small,.thesis-row small { font-size:10px; }
.research-drawer { width:min(780px,78vw); }
.drawer-header span,.research-summary small,.research-card > span,.research-flow > span { font-size:10px; }
.drawer-header h2 { font-size:30px; }
.drawer-close,.evidence-close,.review-flow-close { min-width:42px; min-height:42px; border-radius:50%; }
.drawer-body { padding-top:20px; }
.research-trigger { border-radius:5px; }
.research-trigger span { font-size:10px; }
.research-trigger span small { font-size:9px; }
.research-trigger strong { font-size:16px; }
.research-summary strong { font-size:17px; }
.research-card { padding:19px; border-radius:4px; }
.research-card p { font-size:13px; }
.research-card li { font-size:12px; }
.integration-bridge { position:sticky; top:-20px; z-index:2; margin-inline:-4px; border-radius:5px; box-shadow:0 12px 24px rgb(0 0 0 / 10%); }
.integration-bridge span,.integration-bridge small { font-size:9px; }
.integration-bridge a,.integration-bridge button { min-height:38px; font-size:10px; }
.workspace-view-header > span { font-size:10px; }
.workspace-view-header p { font-size:13px; }
.unified-thesis-row,.unified-portfolio-row { min-height:88px; padding-inline:12px; transition:background-color .16s ease; }
.unified-thesis-row span,.unified-thesis-row small,.unified-portfolio-row span { font-size:10px; }
.unified-thesis-row b { display:block; margin-top:4px; color:var(--ink); font-size:11px; }
.unified-thesis-row button,.unified-portfolio-row button { min-height:40px; font-size:10px; font-weight:700; }
.forward-context-bar { min-height:54px; }
.forward-context-bar button { min-height:36px; font-size:11px; font-weight:700; }
.forward-context-bar span { font-size:10px; }
.forward-context-bar b { font-size:9px; }
.toast { z-index:100; padding:14px 18px; border-radius:4px; box-shadow:0 12px 32px rgb(0 0 0 / 20%); font-size:12px; }
.back-to-top { position:fixed; right:22px; bottom:22px; z-index:25; min-width:48px; height:48px; padding:0 14px; display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid rgb(255 255 255 / 18%); border-radius:24px; color:white; background:rgb(23 32 28 / 92%); box-shadow:0 10px 28px rgb(0 0 0 / 18%); cursor:pointer; }
.back-to-top[hidden] { display:none; }
.back-to-top span { max-width:0; overflow:hidden; white-space:nowrap; font-size:11px; transition:max-width .18s ease; }
.back-to-top:hover span,.back-to-top:focus-visible span { max-width:72px; }

@media (max-width:900px) {
  .app-topbar { gap:18px; padding-inline:18px; }
  .app-topbar nav { display:flex; margin-left:auto; }
  .app-topbar nav a { min-width:auto; padding-inline:11px; }
  .mock-badge,.brand small { display:none; }
  .research-drawer { width:min(820px,92vw); }
  .unified-thesis-row { grid-template-columns:1.3fr repeat(3,.7fr) 1fr; }
  .unified-thesis-row > span:nth-of-type(4),.unified-thesis-row > span:nth-of-type(5) { display:none; }
}
@media (max-width:620px) {
  .app-topbar { height:62px; gap:10px; }
  .brand b { font-size:16px; }
  .brand span { width:26px; height:26px; }
  .app-topbar nav { gap:2px; padding:3px; }
  .app-topbar nav a { padding:7px 8px; font-size:11px; }
  .summary-shell { padding-top:38px; }
  .summary-shell h1 { margin-block:18px 26px; font-size:32px; }
  .dashboard-section { padding-block:38px; }
  .section-header { display:grid; gap:12px; }
  .section-header h2,.panel h2 { font-size:26px; }
  .section-hint { text-align:left; }
  .asset-card { min-height:142px; }
  .research-drawer { width:100%; }
  .integration-bridge { position:static; }
  .forward-context-bar b { display:none; }
  .back-to-top { right:14px; bottom:14px; }
  .back-to-top span { display:none; }
}

/* V0.5.2 dark cockpit theme */
:root {
  color-scheme:dark;
  --ink:#e5ede9;
  --muted:#91a09a;
  --paper:#08110f;
  --card:#0e1916;
  --line:#263630;
  --green:#69c09c;
  --green-soft:#173a30;
  --amber:#d3aa5e;
  --amber-soft:#3a2d18;
  --red:#d77d72;
  --red-soft:#3b211f;
  --blue:#79a9bd;
  --surface-strong:#111f1b;
}
body { color:var(--ink); background:radial-gradient(circle at 16% -8%,#17352c 0,transparent 34%),linear-gradient(180deg,#091512 0,#070d0c 620px); }
.app-topbar { border-color:var(--line); background:rgb(8 17 15 / 92%); box-shadow:0 12px 36px rgb(0 0 0 / 24%); }
.app-topbar nav { border-color:var(--line); background:rgb(255 255 255 / 3%); }
.app-topbar nav a[aria-current="page"],.range-tabs button:hover,.range-tabs button.active,
.needs-review-item button,.unified-thesis-row button,.unified-portfolio-row button,.toast,
.research-trigger,.integration-bridge { color:#edf6f2; background:var(--surface-strong); }
.app-topbar nav a:hover,.state-tags > button:hover,.regime-metric:hover,
.asset-card:hover,.signal-item:hover,.theme-row:hover,.company-row:hover,.holding:hover,.event-item:hover { background-color:rgb(49 106 84 / 28%); }
.mock-badge { border-color:#315344; background:#10251e; }
.logout-button { padding:7px 10px; border:1px solid var(--line); border-radius:5px; color:var(--muted); background:transparent; font:inherit; font-size:10px; cursor:pointer; }
.logout-button:hover { color:var(--ink); border-color:#526860; background:rgb(255 255 255 / 4%); }
.logout-button:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.logout-button:disabled { opacity:.5; cursor:wait; }
.summary-shell,.dashboard-section,.panel,.workspace-list-view { background:transparent; }
.daily-inbox-summary,.asset-card,.thesis-row,.research-summary,.research-card,
.workspace-view-header + div,.forward-context-bar { background:rgb(14 25 22 / 88%); }
.asset-card { background:rgb(14 25 22 / 62%); }
.needs-review-empty { background:var(--green-soft); }
.signal-why,.journal-detail { background:#101c19; }
.chart-tooltip { color:#eef6f2; background:#15251f; }
.sparkline .area { opacity:.16; }
.meter-track { background:#263630; }
.allocation span:nth-child(3) { color:var(--ink); background:#34423d; }
.flow-items b { color:var(--ink); background:#1a2a25; }
.relation-list span { background:#12201c; }
.research-backdrop { background:rgb(0 5 4 / 68%); }
.research-drawer { color:var(--ink); background:var(--paper); box-shadow:-22px 0 58px rgb(0 0 0 / 48%); }
.drawer-header,.drawer-footer { background:#0d1815; }
.research-trigger span,.integration-bridge span,.integration-bridge small { color:#91b9a8; }
.research-trigger span small { color:#789387; }
.research-card p,.research-card li { color:#b7c4be; }
.research-card.counter { border-color:#633b36; }
.integration-bridge a { color:#07110e; background:#8acbad; }
.integration-bridge a:hover { background:#a8dfc6; }
.integration-bridge button { color:#e8f2ed; border-color:#47675a; }
.unified-thesis-row:hover { background:rgb(49 106 84 / 22%); }
.unified-thesis-row b { color:var(--ink); }
.unified-portfolio-actions button:first-child,.needs-review-actions button:first-child { color:var(--green); background:transparent; }
.drawer-close,.evidence-close { border-color:var(--line); }
.drawer-close:hover,.evidence-close:hover { color:#07110e; background:var(--green); }
.app-footer { border-color:var(--line); }
.back-to-top { color:#07110e; border-color:#79c7a6; background:rgb(105 192 156 / 94%); }
select,textarea,input { accent-color:var(--green); }

/* V0.6 Answer First */
:root {
  --sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
  --serif:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
}
body { font-variant-numeric:tabular-nums; }
.answer-first-view,.archive-view { max-width:1280px; padding:0 28px 92px; }
.answer-masthead { padding:24px 0 0; border-bottom:1px solid var(--line); }
.answer-date-line { display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--muted); font-size:12px; }
.answer-date-line > div { display:flex; gap:11px; align-items:center; }
.answer-date-line b { color:#b4c0bb; font-weight:500; }
.answer-period-label { padding:5px 9px; border:1px solid #345048; border-radius:999px; color:var(--green); }
.answer-title-row { display:grid; grid-template-columns:1fr 260px; gap:48px; align-items:end; padding:38px 0 32px; }
.answer-title-row p,.archive-header > div > span,.explore-intro span { margin:0 0 10px; color:var(--green); font-size:11px; font-weight:800; letter-spacing:.15em; }
.answer-title-row h1 { margin:0; max-width:none; font-size:clamp(38px,5vw,64px); font-weight:640; letter-spacing:-.045em; }
.answer-status-row { display:grid; grid-template-columns:1fr 260px; gap:28px; align-items:stretch; padding:16px 0; border-top:1px solid var(--line); }
.answer-generation-summary { display:grid; align-content:center; gap:4px; }
.answer-generation-summary span { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.14em; }
.answer-generation-summary strong { font-size:21px; line-height:1.35; }
.answer-generation-summary small { color:var(--muted); font-size:11px; }
.freshness-panel { padding:16px 17px; display:grid; grid-template-columns:1fr auto; gap:5px 12px; border:1px solid var(--line); border-radius:7px; background:rgb(14 25 22 / 82%); }
.freshness-panel span,.freshness-panel small { color:var(--muted); font-size:11px; }
.freshness-panel strong { text-align:right; font-size:12px; }
.freshness-panel small { grid-column:1 / -1; padding-top:7px; border-top:1px solid var(--line); }
.freshness { align-self:center; justify-self:end; padding:4px 7px; border-radius:999px; font-size:9px; letter-spacing:.06em; }
.freshness.complete { color:var(--green); background:var(--green-soft); }
.freshness.partial { color:var(--amber); background:var(--amber-soft); }
.freshness.stale { color:var(--red); background:var(--red-soft); }
.period-switcher { display:grid; grid-template-columns:repeat(4,1fr); }
.period-switcher button { min-height:68px; padding:10px 14px; display:flex; flex-direction:column; justify-content:center; gap:4px; border:0; border-left:1px solid var(--line); color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.period-switcher button:last-child { border-right:1px solid var(--line); }
.period-switcher button:hover { background:rgb(49 106 84 / 18%); }
.period-switcher button[aria-selected="true"] { color:var(--ink); background:#10251f; box-shadow:inset 0 -3px var(--green); }
.period-switcher span { font-size:14px; font-weight:700; }
.period-switcher small { color:var(--muted); font-size:10px; }
.answer-layout { display:grid; grid-template-columns:minmax(0,1fr) 254px; gap:60px; align-items:start; padding-top:28px; }
.daily-answer { min-width:0; max-width:860px; }
.channel-switcher { width:max-content; display:flex; gap:5px; margin-bottom:24px; padding:4px; border:1px solid var(--line); border-radius:8px; background:#0b1512; }
.channel-switcher button { min-width:112px; padding:9px 13px; display:flex; justify-content:space-between; align-items:baseline; gap:10px; border:0; border-radius:5px; color:var(--muted); background:transparent; cursor:pointer; }
.channel-switcher button[aria-selected="true"] { color:#07110e; background:var(--green); }
.channel-switcher span { font-size:13px; font-weight:750; }
.channel-switcher small { font-size:8px; letter-spacing:.08em; }
.answer-hero { max-width:820px; padding-bottom:36px; }
.answer-kicker { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; color:var(--green); font-size:11px; letter-spacing:.1em; }
.answer-kicker b { padding:5px 8px; border:1px solid #34594b; border-radius:999px; font-size:9px; }
.answer-summary-label { display:block; margin-bottom:8px; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.12em; }
.answer-hero h1 { margin:0; max-width:820px; font-size:clamp(30px,3.5vw,40px); font-weight:650; line-height:1.24; letter-spacing:-.03em; }
.answer-hero > p { max-width:790px; margin:18px 0 0; color:#c6d0cb; font-size:17px; line-height:1.72; }
.answer-tension { margin-top:30px; padding:17px 19px; display:grid; grid-template-columns:100px 1fr; align-items:center; gap:20px; border-left:3px solid var(--amber); background:#101a18; }
.answer-tension span { color:var(--muted); font-size:11px; }
.answer-tension strong { font-size:18px; font-weight:650; }
.answer-section { max-width:820px; padding:38px 0; display:grid; grid-template-columns:48px 1fr; gap:22px; border-top:1px solid var(--line); }
.answer-section-index { color:#587067; font-size:13px; font-weight:750; }
.answer-section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.answer-section-title h2 { margin:0; font-size:25px; line-height:1.35; }
.answer-section-title span { flex:0 0 auto; padding:5px 8px; border:1px solid #345048; border-radius:999px; color:var(--green); font-size:10px; }
.answer-section-body p { margin:18px 0 0; color:#bac6c0; font-size:16px; line-height:1.82; }
.answer-link { margin-top:22px; padding:8px 0; border:0; color:#77b7da; background:transparent; cursor:pointer; font-size:13px; font-weight:700; text-align:left; }
.answer-link:hover { color:#9bcdec; }
.answer-link span { margin-left:4px; transition:margin-left .18s ease; }
.answer-link:hover span { margin-left:9px; }
.today-questions,.next-validation { max-width:820px; margin:34px 0; padding:30px 32px; border-radius:8px; }
.today-questions { border:1px solid #5b4729; background:linear-gradient(135deg,#211a10,#15140f); }
.next-validation { border:1px solid #315548; background:linear-gradient(135deg,#10251e,#0c1714); }
.today-questions > span,.next-validation > span { color:var(--amber); font-size:10px; font-weight:800; letter-spacing:.14em; }
.next-validation > span { color:var(--green); }
.today-questions h2,.next-validation h2 { margin:9px 0 18px; font-size:23px; }
.today-questions ol,.next-validation ul { margin:0; padding-left:23px; }
.today-questions li,.next-validation li { margin:12px 0; color:#d0d7d3; font-size:16px; line-height:1.65; }
.snapshot-footer { max-width:820px; margin-top:48px; padding-top:20px; display:grid; grid-template-columns:1.5fr 1fr .4fr; gap:16px; border-top:1px solid var(--line); }
.snapshot-footer div span,.snapshot-footer div strong { display:block; }
.snapshot-footer div span { color:var(--muted); font-size:9px; }
.snapshot-footer div strong { margin-top:5px; overflow-wrap:anywhere; font-size:10px; }
.snapshot-footer p { grid-column:1 / -1; margin:5px 0 0; color:#71827b; font-size:10px; }
.today-rail { position:sticky; top:108px; border-top:1px solid #547065; }
.rail-heading { padding:14px 0; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); }
.rail-heading span { font-size:11px; font-weight:750; letter-spacing:.09em; }
.rail-heading small { color:var(--muted); font-size:10px; }
.today-timeline { padding:10px 0; }
.timeline-point { position:relative; width:100%; min-height:57px; padding:9px 0; display:grid; grid-template-columns:16px 1fr 18px; gap:10px; align-items:center; border:0; color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.timeline-point::before { content:""; position:absolute; left:5px; top:-10px; bottom:calc(50% + 5px); width:1px; background:var(--line); }
.timeline-point::after { content:""; position:absolute; left:5px; top:calc(50% + 5px); bottom:-10px; width:1px; background:var(--line); }
.timeline-point:first-child::before,.timeline-point:last-child::after { display:none; }
.timeline-point i { z-index:1; width:11px; height:11px; border:2px solid #597168; border-radius:50%; background:var(--paper); }
.timeline-point.active i { border-color:var(--green); background:var(--green); box-shadow:0 0 0 4px rgb(105 192 156 / 12%); }
.timeline-point strong,.timeline-point small { display:block; }
.timeline-point strong { color:#c8d2cd; font-size:11px; }
.timeline-point small { margin-top:3px; font-size:9px; }
.timeline-point > b { color:var(--green); font-size:11px; }
.rail-boundary { margin-top:15px; padding:14px; border:1px solid var(--line); border-radius:6px; background:#0d1815; }
.rail-boundary strong { color:var(--amber); font-size:10px; }
.rail-boundary p { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.65; }
.rail-explore { width:100%; margin-top:10px; padding:11px; border:1px solid #3f6657; color:var(--green); background:transparent; cursor:pointer; font-size:11px; }
.channel-overview { margin-top:70px; padding-top:38px; border-top:1px solid var(--line); }
.channel-overview > header span { color:var(--green); font-size:10px; font-weight:750; letter-spacing:.13em; }
.channel-overview > header h2 { margin:7px 0 24px; font-size:27px; }
#channel-overview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.channel-summary { min-height:210px; padding:22px; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:#0d1815; text-align:left; cursor:pointer; }
.channel-summary:hover,.channel-summary.active { border-color:#527366; background:#10231d; }
.channel-summary > span { color:#6d8179; font-size:9px; font-weight:800; letter-spacing:.12em; }
.channel-summary h3 { margin:8px 0 24px; font-size:21px; }
.channel-summary p { margin:0; color:#c0cbc6; font-size:15px; line-height:1.65; }
.channel-summary small { display:block; margin-top:22px; color:var(--green); font-size:10px; }
.answer-empty { padding:50px 0; border-top:1px solid var(--line); }
.answer-empty strong { font-size:24px; }.answer-empty p { color:var(--muted); }
.answer-history-notice { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:12px; }
.answer-history-notice .answer-link { margin-top:0; }

/* Market dashboard six-step research framework */
.dashboard-title-row { padding:26px 0 20px; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.dashboard-title-row > div > span { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.14em; }
.dashboard-title-row h1 { margin:7px 0 0; font-size:clamp(34px,4vw,50px); font-weight:680; letter-spacing:-.04em; }
.dashboard-date-picker { display:grid; gap:6px; color:var(--muted); font-size:9px; letter-spacing:.08em; }
.dashboard-date-picker input { min-width:150px; padding:9px 10px; border:1px solid var(--line); border-radius:5px; color:var(--ink); background:#0d1815; color-scheme:dark; }
.research-step-nav { position:sticky; top:62px; z-index:8; display:grid; grid-template-columns:repeat(6,1fr); margin:0 0 20px; border:1px solid var(--line); background:rgb(11 21 18 / 96%); backdrop-filter:blur(10px); }
.research-step-nav a { min-width:0; padding:11px 9px; display:flex; gap:7px; align-items:center; border-right:1px solid var(--line); color:var(--muted); text-decoration:none; }
.research-step-nav a:last-child { border-right:0; }.research-step-nav a:hover { color:var(--ink); background:#10251f; }
.research-step-nav b { color:var(--green); font-size:9px; }.research-step-nav span { overflow:hidden; font-size:9px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.legacy-format-note { margin:0 0 24px; padding:11px 13px; border:1px solid var(--line); color:var(--muted); background:#101815; font-size:10px; }
.research-section { max-width:860px; scroll-margin-top:125px; padding-block:44px; }
.research-section .answer-section-body { min-width:0; }.research-section .answer-section-title { margin-bottom:22px; }
.research-empty { padding:22px; border:1px dashed var(--line); color:var(--muted); background:#0d1714; font-size:12px; line-height:1.65; }
.research-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.research-metric-card { min-width:0; padding:15px; border:1px solid var(--line); border-radius:7px; background:#0d1815; }
.research-metric-card header,.theme-research-card header,.continuity-research-card header,.transmission-card header,.breadth-card header,.candidate-research-card header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.research-metric-card header span,.research-metric-card header b { color:var(--muted); font-size:8px; letter-spacing:.07em; }
.research-metric-card h3 { min-height:34px; margin:12px 0 6px; font-size:13px; }.research-metric-card > div { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.research-metric-card > div strong { font-size:24px; }.research-metric-card em { font-size:11px; font-style:normal; font-weight:800; }
.research-metric-card footer,.theme-research-card small,.continuity-research-card footer,.candidate-research-card footer { display:block; margin-top:12px; color:var(--muted); font-size:8px; line-height:1.5; overflow-wrap:anywhere; }
.market-up { color:#e16767 !important; }.market-down { color:#43b588 !important; }.market-flat { color:var(--muted) !important; }
.research-verified { color:#69c69e !important; border-color:#356650 !important; }.research-invalidated,.research-failed { color:#f07a74 !important; border-color:#713d3a !important; }
.research-pending,.research-evidence-available { color:#d7a951 !important; border-color:#715c34 !important; }.research-unavailable { color:#7e8b85 !important; border-color:#3a4641 !important; }
.continuity-card-grid,.transmission-grid,.candidate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.continuity-research-card,.transmission-card,.candidate-research-card { padding:17px; border:1px solid var(--line); border-radius:7px; background:#0d1815; }
.continuity-research-card header span,.continuity-research-card header b,.transmission-card header span,.transmission-card time { color:var(--muted); font-size:8px; }
.continuity-research-card header b,.candidate-research-card header > b { padding:4px 6px; border:1px solid; border-radius:999px; }
.continuity-research-card h3,.transmission-card h3,.candidate-research-card h3 { margin:13px 0 8px; font-size:14px; line-height:1.45; }
.continuity-research-card p,.theme-research-card p,.candidate-research-card p { margin:0; color:#b7c3bd; font-size:11px; line-height:1.7; }
.continuity-research-card > div { margin-top:13px; padding-top:11px; display:grid; gap:4px; border-top:1px solid var(--line); }.continuity-research-card > div strong { color:var(--green); font-size:9px; }.continuity-research-card > div span { color:var(--muted); font-size:10px; line-height:1.55; }
.transmission-grid { margin-top:12px; }.transmission-card dl,.candidate-research-card dl { margin:14px 0 0; display:grid; gap:8px; }.transmission-card dl div,.candidate-research-card dl div { display:grid; grid-template-columns:74px 1fr; gap:10px; }.transmission-card dt,.candidate-research-card dt { color:var(--muted); font-size:9px; }.transmission-card dd,.candidate-research-card dd { margin:0; font-size:10px; line-height:1.55; }
.breadth-card { margin-top:12px; padding:18px; border:1px solid var(--line); border-radius:7px; background:#0d1815; }.breadth-card header span { font-weight:750; }.breadth-card header b { color:var(--muted); font-size:9px; }.breadth-counts { margin-top:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.breadth-counts span { color:var(--muted); font-size:9px; }.breadth-counts strong { display:block; margin-top:4px; color:inherit; font-size:22px; }.breadth-bar { height:7px; margin-top:14px; display:flex; overflow:hidden; border-radius:999px; background:#29342f; }.breadth-bar i { background:#d95858; }.breadth-bar b { margin-left:auto; background:#2b9a70; }.breadth-card footer { margin-top:10px; color:var(--muted); font-size:9px; }
.research-subhead { margin:0 0 14px; }.research-subhead span { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.1em; }.research-subhead h3 { margin:5px 0; font-size:17px; }.research-subhead p { margin:0 !important; color:var(--muted) !important; font-size:10px !important; }.tech-watch-head { margin-top:28px; padding-top:22px; border-top:1px solid var(--line); }
.theme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.theme-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }.theme-research-card { min-width:0; padding:15px; border:1px solid var(--line); border-radius:7px; background:#0d1815; }.theme-research-card header span { font-size:12px; font-weight:750; }.theme-research-card header b { font-size:9px; }.theme-stats { margin:14px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.theme-stats span { color:var(--muted); font-size:8px; }.theme-stats strong { display:block; margin-top:3px; color:var(--ink); font-size:14px; }
.candidate-research-card header > div span { color:var(--muted); font-size:8px; }.candidate-research-card header h3 { margin:3px 0 0; }.candidate-themes { margin:12px 0; display:flex; flex-wrap:wrap; gap:5px; }.candidate-themes span { padding:4px 6px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:8px; }
.review-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.review-stat-grid article { padding:17px; border:1px solid var(--line); background:#0d1815; }.review-stat-grid span { color:var(--muted); font-size:9px; }.review-stat-grid strong { display:block; margin-top:8px; font-size:28px; }.validation-list { margin-top:14px; display:grid; gap:8px; }.validation-list article { padding:15px; display:grid; grid-template-columns:34px 1fr; gap:12px; border:1px solid var(--line); background:#0d1815; }.validation-list > article > b { color:var(--amber); }.validation-list span,.validation-list small { color:var(--muted); font-size:8px; }.validation-list h3 { margin:4px 0; font-size:13px; }.validation-list small { overflow-wrap:anywhere; }

.archive-header { padding:58px 0 38px; display:grid; grid-template-columns:1fr 240px; gap:60px; align-items:end; border-bottom:1px solid var(--line); }
.archive-header h1,.explore-intro h1 { margin:0; max-width:none; font-size:clamp(36px,4vw,52px); font-weight:650; }
.archive-header p,.explore-intro p { max-width:760px; margin:15px 0 0; color:var(--muted); font-size:14px; line-height:1.75; }
.archive-version { padding:16px; border:1px solid var(--line); border-radius:6px; background:#0d1815; }
.archive-version span,.archive-version strong,.archive-version small { display:block; }
.archive-version span,.archive-version small { color:var(--muted); font-size:10px; }
.archive-version strong { margin:5px 0; color:var(--green); font-size:14px; }
.archive-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:54px; padding-top:38px; }
.archive-dates { position:sticky; top:100px; align-self:start; }
.archive-year { padding:0 12px 14px; border-bottom:1px solid var(--line); }
.archive-year span,.archive-year strong { display:block; }.archive-year span { color:var(--green); font-size:11px; }.archive-year strong { margin-top:3px; font-size:17px; }
.archive-dates button { width:100%; padding:13px 12px; display:flex; justify-content:space-between; gap:8px; border:0; border-bottom:1px solid var(--line); color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.archive-dates button[aria-current="date"] { color:var(--ink); background:#10251f; box-shadow:inset 3px 0 var(--green); }
.archive-dates button span { font-size:10px; font-weight:750; }.archive-dates button small { font-size:9px; }
.archive-day { max-width:900px; }
.archive-day-header { min-height:74px; display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid #577066; }
.archive-day-header span { color:var(--green); font-size:10px; }.archive-day-header h2 { margin:5px 0 0; font-size:28px; }.archive-day-header b { color:var(--muted); font-size:10px; }
.archive-channel { padding:32px 0; display:grid; grid-template-columns:110px 1fr; gap:24px; border-bottom:1px solid var(--line); }
.archive-channel > header span { color:#6d8179; font-size:9px; font-weight:800; letter-spacing:.1em; }.archive-channel > header h3 { margin:5px 0 0; font-size:18px; }
.archive-channel details { border-top:1px solid var(--line); }
.archive-channel summary { min-height:68px; padding:12px 5px; display:grid; grid-template-columns:120px 1fr auto; gap:14px; align-items:center; cursor:pointer; list-style:none; }
.archive-channel summary::-webkit-details-marker { display:none; }
.archive-channel summary span { color:var(--muted); font-size:10px; }.archive-channel summary strong { font-size:13px; line-height:1.5; }.archive-channel summary b { color:var(--green); font-size:9px; }
.archive-report-body { padding:0 5px 22px 134px; }
.archive-report-body > p { margin:0; color:#bbc7c1; font-size:14px; line-height:1.75; }
.archive-report-body > div { margin-top:14px; padding:11px 13px; border-left:2px solid var(--amber); background:#101a18; }.archive-report-body > div span { color:var(--muted); font-size:9px; }.archive-report-body > div strong { display:block; margin-top:4px; font-size:12px; }
.archive-report-body ul { margin:15px 0; padding-left:18px; color:var(--muted); font-size:11px; }.archive-report-body small { color:#687971; font-size:9px; }
.archive-missing { margin:0; padding:18px 0; color:var(--muted); font-size:12px; }
.decision-continuity { margin:48px 0 0; padding:30px; border:1px solid var(--line); background:#0b1512; }
.decision-continuity > header { display:flex; justify-content:space-between; gap:24px; align-items:end; }
.decision-continuity > header span { color:var(--green); font-size:10px; letter-spacing:.12em; }
.decision-continuity > header h2 { margin:7px 0 0; font-size:25px; }
.decision-continuity > header button { padding:10px 13px; border:1px solid var(--amber); color:var(--amber); background:transparent; cursor:pointer; }
.continuity-stage-list { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:25px; background:var(--line); }
.continuity-stage-list button { min-height:74px; padding:13px; border:0; color:var(--ink); background:#10201b; cursor:pointer; text-align:left; }
.continuity-stage-list button[aria-selected="true"] { box-shadow:inset 0 -3px var(--green); background:#173128; }
.continuity-stage-list button.missing { color:var(--muted); }
.continuity-stage-list b,.continuity-stage-list small { display:block; }.continuity-stage-list small { margin-top:6px; font-size:9px; }
.continuity-stage-detail { min-height:130px; padding:22px 4px 0; }
.continuity-stage-detail h3 { margin:0 0 12px; font-size:18px; }.continuity-stage-detail p { color:var(--muted); line-height:1.65; }
.continuity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.continuity-grid div { padding:13px; border:1px solid var(--line); }.continuity-grid span,.continuity-grid small { display:block; }.continuity-grid span { color:var(--green); font-size:9px; }.continuity-grid small { margin-top:8px; color:var(--muted); line-height:1.55; }
.archive-stage-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.archive-stage-strip span { padding:10px; border:1px solid var(--line); }.archive-stage-strip b,.archive-stage-strip small { display:block; }.archive-stage-strip small { margin-top:4px; color:var(--green); }.archive-stage-strip .missing small { color:var(--muted); }.archive-asof-note { color:var(--muted); font-size:10px; line-height:1.6; }
.explore-intro { max-width:1320px; margin:0 auto; padding:52px 24px 34px; display:flex; justify-content:space-between; align-items:end; gap:30px; border-bottom:1px solid var(--line); }
.explore-intro button { padding:10px 13px; border:1px solid #3f6657; color:var(--green); background:transparent; cursor:pointer; font-size:11px; }

@media (max-width:980px) {
  .answer-title-row { grid-template-columns:1fr 230px; gap:28px; }
  .answer-status-row { grid-template-columns:1fr 230px; }
  .answer-layout { grid-template-columns:1fr; gap:24px; }
  .daily-answer { max-width:820px; }
  .today-rail { position:static; display:grid; grid-template-columns:1fr 240px; gap:20px; border-top:1px solid var(--line); }
  .rail-heading { grid-column:1 / -1; }
  .rail-explore { grid-column:2; }
  .archive-layout { grid-template-columns:160px 1fr; gap:30px; }
  .app-topbar nav { max-width:calc(100vw - 230px); overflow-x:auto; scrollbar-width:none; }
  .app-topbar nav::-webkit-scrollbar { display:none; }
  .app-topbar nav a { flex:0 0 auto; }
  .research-step-nav { grid-template-columns:repeat(3,1fr); position:static; }
  .research-metric-grid,.theme-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .answer-first-view,.archive-view { padding-inline:16px; padding-bottom:64px; }
  .app-topbar { padding-inline:12px; }
  .app-topbar .brand b { display:none; }
  .app-topbar nav { max-width:calc(100vw - 58px); margin-left:0; }
  .logout-button { padding-inline:8px; white-space:nowrap; }
  .answer-masthead { padding-top:26px; }
  .dashboard-title-row { align-items:flex-start; flex-direction:column; }.dashboard-date-picker,.dashboard-date-picker input { width:100%; }
  .answer-title-row { grid-template-columns:1fr; gap:22px; padding-block:28px 24px; }
  .answer-title-row h1 { font-size:38px; }
  .answer-status-row { grid-template-columns:1fr; gap:12px; }
  .freshness-panel { max-width:none; }
  .period-switcher { margin-inline:-16px; overflow-x:auto; }
  .period-switcher button { min-width:125px; border-bottom:1px solid var(--line); }
  .answer-layout { padding-top:30px; }
  .channel-switcher { width:100%; margin-bottom:34px; }
  .channel-switcher button { min-width:0; flex:1; justify-content:center; }
  .channel-switcher small { display:none; }
  .answer-hero h1 { font-size:30px; line-height:1.3; }
  .answer-hero > p { font-size:16px; line-height:1.78; }
  .answer-section { grid-template-columns:34px 1fr; gap:12px; padding-block:30px; }
  .research-step-nav,.research-metric-grid,.theme-grid,.theme-grid.compact,.continuity-card-grid,.transmission-grid,.candidate-grid { grid-template-columns:1fr; }
  .answer-section-title { display:block; }.answer-section-title h2 { font-size:22px; }.answer-section-title span { display:inline-block; margin-top:10px; }
  .answer-section-body p { font-size:16px; }
  .answer-tension { grid-template-columns:1fr; gap:6px; }
  .today-questions,.next-validation { padding:23px 20px; }.today-questions h2,.next-validation h2 { font-size:21px; }
  .snapshot-footer { grid-template-columns:1fr 1fr; }.snapshot-footer div:first-child { grid-column:1 / -1; }
  .today-rail { display:block; }.rail-explore { width:100%; }
  #channel-overview-grid { grid-template-columns:1fr; }.channel-summary { min-height:0; }
  .archive-header { grid-template-columns:1fr; gap:24px; padding-top:40px; }.archive-version { max-width:280px; }
  .archive-layout { grid-template-columns:1fr; gap:24px; }.archive-dates { position:static; display:flex; overflow-x:auto; }.archive-year { min-width:88px; }.archive-dates button { min-width:135px; }
  .archive-channel { grid-template-columns:1fr; gap:12px; }.archive-channel summary { grid-template-columns:98px 1fr; }.archive-channel summary b { grid-column:2; }.archive-report-body { padding-left:5px; }
  .continuity-stage-list,.continuity-grid,.archive-stage-strip { grid-template-columns:1fr 1fr; }
  .explore-intro { align-items:flex-start; flex-direction:column; padding-top:38px; }
}
