:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f8;--surface:#fff;--surface-muted:#f8fafc;--border:#d8e0e8;--border-strong:#b9c5d2;--text:#17202a;--muted:#657386;--buy:#b91c1c;--sell:#1d4ed8;--accent:#0f766e;--warning:#ca8a04;--disabled:#9aa7b5;--shadow:0 12px 28px #17202a14}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:1px solid var(--border-strong);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;white-space:normal;border-radius:6px;line-height:1.2}button:disabled{color:var(--disabled);cursor:not-allowed}input{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--text);border-radius:6px;padding:0 10px}.workspace-shell{grid-template-columns:260px 280px minmax(0,1fr);align-items:start;gap:12px;width:100%;min-height:100vh;padding:12px;display:grid}.left-rail,.stock-list,.chart-panel,.order-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.left-rail{align-content:start;gap:12px;min-width:0;padding:12px;display:grid}.access-key-gate{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding-bottom:12px;display:grid}.access-key-gate input{grid-column:1/-1}.access-key-gate button{min-width:74px}.access-key-status{border:1px solid var(--border);min-width:62px;color:var(--muted);text-align:center;border-radius:999px;padding:5px 7px;font-size:.78rem}.access-key-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:.8rem;line-height:1.35}.field-label{color:var(--muted);font-size:.86rem;font-weight:700}.tab-tree{gap:14px;display:grid}.tab-group h2,.rail-heading h2,.chart-heading h2,.order-panel h2,.event-timeline h2{margin:0;font-size:1rem;line-height:1.25}.tab-children{gap:6px;margin-top:8px;display:grid}.tab-link,.stock-link{border-radius:6px;transition:background .12s,border-color .12s}.tab-link{width:100%;min-height:36px;color:var(--muted);text-align:left;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;padding:9px 10px;font-size:.92rem;display:block}.tab-link[aria-current=page],.tab-link:hover{border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.stock-list{grid-template-rows:auto auto minmax(0,1fr);min-width:0;height:calc(100vh - 24px);max-height:calc(100vh - 24px);display:grid;overflow:hidden}.rail-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:0 14px;display:flex}.rail-heading span{color:var(--muted);font-size:.84rem}.stock-list-items{overscroll-behavior:contain;flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.stock-link{border:1px solid var(--border);background:var(--surface);text-align:left;flex:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:5px;width:100%;min-height:96px;padding:10px;display:grid}.stock-link[aria-current=page],.stock-link:hover{border-color:var(--accent);background:#f1f8f7}.stock-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.stock-title-symbol{font-variant-numeric:tabular-nums}.stock-symbol{font-weight:800}.stock-name{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.stock-meta,.event-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.82rem;display:flex}.technical-filter-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 10px 0;display:grid}.technical-filter-button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--muted);border-radius:6px;font-size:.75rem;font-weight:700}.technical-filter-button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:#e8f4f2}.stock-sector{color:var(--muted);font-size:.78rem}.theme-row-impact{gap:4px;margin-top:2px;display:grid}.theme-row-badge{border:1px solid var(--border);background:var(--surface-muted);width:fit-content;color:var(--accent);border-radius:6px;padding:2px 6px;font-size:.72rem;font-weight:800}.theme-row-reason{color:var(--text);font-size:.76rem;line-height:1.35}.holding-row-metrics,.technical-row-metrics{color:var(--text);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:3px;font-size:.75rem;font-weight:700;display:grid}.workspace-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.workspace-main-empty{grid-template-columns:minmax(0,1fr)}.empty-workspace{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:calc(100vh - 24px)}.chart-panel{grid-template-rows:auto auto;min-width:0;min-height:auto;display:grid;overflow:hidden}.chart-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex}.chart-heading p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.9rem}.supply-demand-mode{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.supply-demand-mode button{min-width:74px;min-height:32px;color:var(--muted);white-space:nowrap;background:0 0;border-color:#0000;padding:0 10px;font-size:.84rem;font-weight:700}.supply-demand-mode button.active{border-color:var(--border-strong);background:var(--surface);color:var(--accent)}.chart-and-events{--chart-panel-height:clamp(480px, 60vh, 720px);grid-template-columns:minmax(0,1fr) 260px;min-height:0;display:grid}.chart-canvas{min-width:0;height:var(--chart-panel-height);background:var(--surface);min-height:0;position:relative;overflow:hidden}.chart-frame.drawing-mode{cursor:crosshair}.chart-mount{position:absolute;inset:0}.chart-drawing-layer{z-index:3;pointer-events:none;position:absolute;inset:0 auto auto 0}.chart-drawing-hitline{cursor:pointer;pointer-events:stroke}.chart-drawing-line{filter:drop-shadow(0 1px 2px #17202a2e);pointer-events:none}.chart-drawing-line.selected{filter:drop-shadow(0 2px 5px #2563eb47)}.chart-drawing-handle{fill:var(--surface);stroke:var(--accent);stroke-width:2px;pointer-events:all;cursor:grab}.chart-drawing-preview{stroke-dasharray:4 4;pointer-events:none}.chart-drawing-path{stroke-dasharray:inherit}.chart-frame.drawing-mode .chart-drawing-hitline{pointer-events:none}.chart-clear-dialog-backdrop{z-index:20;background:#17202a59;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.chart-clear-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,420px);box-shadow:var(--shadow);border-radius:8px;padding:14px}.chart-clear-dialog-actions{justify-content:flex-end;gap:10px;display:flex}.chart-clear-dialog-actions button{min-width:72px}.chart-clear-dialog .danger-button{color:#dc2626;background:#fef2f2;border-color:#ef4444}.chart-drawing-toolbar{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #b9c5d2d1;border-radius:8px;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:6px;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 8px 18px #17202a1a}.chart-drawing-toolbar button{border-color:var(--border);border-radius:6px;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;font-size:.92rem;font-weight:800;line-height:1;display:inline-grid}.chart-drawing-toolbar button.active{border-color:var(--accent);color:var(--accent);background:#eef8f6}.chart-drawing-toolbar span{min-width:56px;color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.event-timeline{min-width:0;height:var(--chart-panel-height);max-height:var(--chart-panel-height);border-left:1px solid var(--border);background:var(--surface-muted);overscroll-behavior:contain;padding:14px;overflow-y:auto}.event-timeline ol{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.event-timeline li{border:1px solid var(--border);background:var(--surface);border-left-width:4px;border-radius:6px;padding:0}.event-timeline li.open{border-color:#146a4a73}.event-timeline li.active{background:#f0fdf4;box-shadow:0 0 0 1px #16a34a24}.event-summary-button{width:100%;min-height:0;color:inherit;text-align:left;background:0 0;border:0;padding:10px;display:block}.event-summary-button:hover,.event-summary-button:focus-visible{background:#146a4a0f}.event-summary-button h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-timeline li.open .event-summary-button h3{display:block}.event-timeline h3{overflow-wrap:anywhere;margin:7px 0 0;font-size:.92rem;line-height:1.35}.event-details{color:var(--text);gap:6px;padding:0 10px 10px;font-size:.86rem;line-height:1.45;display:grid}.event-details p{overflow-wrap:anywhere;margin:0}.event-details a,.event-details span{color:var(--muted);font-size:.78rem;font-weight:700}.theme-brief-panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:8px;gap:10px;padding:14px 16px;display:grid}.theme-brief-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.theme-brief-header h2,.theme-brief-details h3{margin:0;font-size:1rem;line-height:1.25}.theme-brief-header p,.theme-brief-summary{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;line-height:1.4}.theme-state-badge{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;flex:none;padding:5px 8px;font-size:.78rem;font-weight:800}.theme-state-strengthen{color:var(--buy)}.theme-state-maintain{color:var(--accent)}.theme-state-weaken{color:var(--sell)}.theme-state-watch{color:var(--warning)}.theme-brief-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.theme-brief-meta button{min-width:78px;min-height:32px;color:var(--accent);margin-left:auto;padding:0 10px;font-size:.84rem;font-weight:700}.theme-brief-details{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:10px;display:grid}.theme-brief-details ol,.theme-brief-details ul{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.theme-brief-details li{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;min-width:0;padding:9px}.theme-rationale-list li,.theme-symbol-list li{gap:4px;display:grid}.theme-brief-details strong{font-size:.86rem}.theme-brief-details span,.theme-brief-details p,.theme-counter-list li{color:var(--muted);overflow-wrap:anywhere;font-size:.84rem;line-height:1.4}.theme-brief-details p{margin:0}.strategy-lab-panel{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:14px 16px;display:grid}.strategy-lab-heading,.strategy-lab-document-heading,.strategy-lab-summary-title{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.strategy-lab-heading h2,.strategy-lab-document-heading h3{margin:0;font-size:1rem;line-height:1.25}.strategy-lab-heading p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:.86rem;line-height:1.4}.strategy-lab-heading>span,.strategy-lab-document-heading span,.strategy-lab-summary-title span{color:var(--muted);white-space:nowrap;flex:none;font-size:.78rem;font-weight:800}.strategy-lab-grid{grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:12px;min-width:0;display:grid}.strategy-lab-list{align-content:start;gap:8px;min-width:0;display:grid}.strategy-lab-summary{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;gap:8px;min-width:0;padding:10px;display:grid}.strategy-lab-summary.active{border-color:var(--accent);background:#f1f8f7}.strategy-lab-summary-title strong{overflow-wrap:anywhere;min-width:0;font-size:.88rem;line-height:1.35}.strategy-lab-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.strategy-lab-metrics>span{min-width:0}.strategy-lab-metrics>span>span{color:var(--muted);font-size:.7rem;font-weight:800;display:block}.strategy-lab-metrics strong{overflow-wrap:anywhere;margin-top:2px;font-size:.82rem;font-weight:800;display:block}.strategy-lab-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.strategy-lab-document{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0;padding:10px}.strategy-lab-markdown{min-width:0;color:var(--text);overflow-wrap:anywhere;margin-top:8px;font-size:.9rem;line-height:1.55}.strategy-lab-markdown h1,.strategy-lab-markdown h2{margin:.85em 0 .4em;font-size:1rem;line-height:1.3}.strategy-lab-markdown h1:first-child,.strategy-lab-markdown h2:first-child{margin-top:0}.strategy-lab-markdown p,.strategy-lab-markdown ul{margin:.55em 0}.strategy-lab-markdown ul{padding-left:18px}.strategy-lab-empty{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.5}.order-panel{align-content:start;gap:14px;min-width:0;padding:14px;display:grid}.left-rail>.order-panel{border:0;border-bottom:1px solid var(--border);box-shadow:none;border-radius:0;padding:0 0 12px}.order-fields{gap:8px;display:grid}.order-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.order-actions button:first-child{border-color:var(--accent);color:var(--accent);grid-column:1/-1}.research-shell{grid-template-columns:300px minmax(0,1fr);gap:12px;width:100%;min-height:100vh;padding:12px;display:grid}.research-rail,.research-viewer,.research-error{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.research-rail{align-content:start;gap:12px;min-width:0;padding:12px;display:grid}.research-main{grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.research-document-tree{min-width:0;overflow:auto}.research-tree-children{gap:6px;margin:0;padding:0;list-style:none;display:grid}.research-tree-root{gap:12px}.research-tree-theme>.research-tree-label{color:var(--text);font-weight:800}.research-tree-group>.research-tree-label{color:var(--muted);text-transform:uppercase;margin-top:8px;font-size:.82rem;font-weight:800}.research-tree-label{overflow-wrap:anywhere}.research-tree-item .research-tree-children{border-left:1px solid var(--border);margin-top:6px;padding-left:10px}.research-document-link{width:100%;min-height:34px;color:var(--muted);text-align:left;overflow-wrap:anywhere;background:0 0;border-color:#0000;padding:8px 10px;font-size:.9rem}.research-document-link[aria-current=page],.research-document-link:hover{border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.research-error{color:var(--warning);padding:12px}.research-briefs{gap:10px;min-width:0;display:grid}.research-briefs-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.research-briefs-heading h2{margin:0;font-size:1rem;line-height:1.25}.research-briefs-heading span{border:1px solid var(--border);min-width:28px;color:var(--muted);text-align:center;border-radius:999px;padding:4px 7px;font-size:.78rem;font-weight:800}.research-brief-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.research-brief-card{border-color:var(--border);background:var(--surface);text-align:left;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:6px 10px;min-height:142px;padding:10px;display:grid}.research-brief-card:hover,.research-brief-card[aria-pressed=true]{border-color:var(--accent);background:#f1f8f7}.research-brief-card-title{overflow-wrap:anywhere;min-width:0;font-size:.9rem;font-weight:800}.research-brief-card strong,.research-brief-card>span:not(.theme-state-badge):not(.research-brief-card-title),.research-brief-card small{overflow-wrap:anywhere;grid-column:1/-1;min-width:0}.research-brief-card strong{font-size:.9rem;line-height:1.35}.research-brief-card>span:not(.theme-state-badge):not(.research-brief-card-title),.research-brief-card small{color:var(--muted);font-size:.82rem;line-height:1.4}.research-viewer{min-width:0;min-height:calc(100vh - 24px);padding:18px;overflow:auto}.research-viewer-empty{color:var(--muted);place-items:center;display:grid}.research-viewer-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;display:flex}.research-viewer-heading h1{overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.25}.research-viewer-heading p,.research-document-summary{color:var(--muted)}.research-viewer-heading p{overflow-wrap:anywhere;margin:6px 0 0;font-size:.86rem}.research-document-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;display:flex}.research-document-meta div{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;min-width:86px;padding:7px 9px}.research-document-meta dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.research-document-meta dd{margin:3px 0 0;font-size:.86rem;font-weight:700}.research-document-summary{margin:14px 0 0;line-height:1.5}.research-markdown{max-width:920px;padding-top:12px;line-height:1.65}.research-markdown h1,.research-markdown h2,.research-markdown h3{margin:1.2em 0 .45em;line-height:1.3}.research-markdown p,.research-markdown ul,.research-markdown ol,.research-markdown blockquote,.research-markdown table{margin:.75em 0}.research-markdown code{background:var(--surface-muted);border-radius:4px;padding:2px 4px}.research-markdown pre{border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;padding:12px;overflow:auto}.research-markdown pre code{background:0 0;padding:0}.research-markdown table{border-collapse:collapse;width:100%}.research-markdown th,.research-markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px}@media (max-width:1240px){.workspace-shell{grid-template-columns:240px 240px minmax(0,1fr)}.workspace-main,.chart-and-events{grid-template-columns:minmax(0,1fr)}.chart-and-events{--chart-panel-height:clamp(420px, 58vh, 560px)}.chart-panel{min-height:auto}.event-timeline{border-top:1px solid var(--border);border-left:0;height:auto;max-height:240px}.theme-brief-details,.strategy-lab-grid,.strategy-lab-detail{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.workspace-shell,.research-shell{grid-template-columns:minmax(0,1fr)}.left-rail,.stock-list,.chart-panel,.order-panel,.research-rail,.research-viewer,.research-error{box-shadow:none}.stock-list{height:min(320px,100vh - 16px);max-height:min(320px,100vh - 16px)}.research-rail{max-height:360px;overflow:auto}.research-viewer{min-height:auto}.research-viewer-heading{display:grid}.research-document-meta{justify-content:flex-start}.chart-canvas{height:clamp(400px,58vh,500px);min-height:0}}@media (max-width:520px){.workspace-shell,.research-shell{padding:8px}.chart-heading{flex-direction:column;align-items:stretch}.supply-demand-mode{width:100%}.supply-demand-mode button{flex:1;min-width:0}.order-actions{grid-template-columns:minmax(0,1fr)}.order-actions button:first-child{grid-column:auto}}
