:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--bg-hover:#edf2f7;--bg-input:#fff;--bg-message-user:#edf2f7;--bg-message-bot:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-accent:#2563eb;--border:#e5e7eb;--border-focus:#2563eb;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-subtle:#2563eb14;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--radius-none:0px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--font:"Inter", "Segoe UI", Tahoma, Arial, sans-serif;--font-body:"Inter", "Segoe UI", Tahoma, Arial, sans-serif;--font-display:"Space Grotesk", "Segoe UI", Tahoma, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--font-size-xs:10px;--font-size-sm:11px;--font-size-md:13px;--font-size-base:14px;--font-size-lg:15px;--font-size-xl:16px;--font-size-2xl:20px;--chart-tick-size:11px;--chart-tick-weight:500;--chart-label-size:12px;--chart-label-weight:500;--chart-title-size:13px;--chart-title-weight:600;--chart-annotation-size:9px;--chart-annotation-weight:500;--chart-badge-size:7px;--chart-micro-size:8px;--chart-small-size:10px;--chart-tooltip-size:14px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--zone-high-sell:#6e1478;--zone-med-sell:#c77bd5;--zone-neutral:#f3e8ff;--zone-med-buy:#dcb1e9;--zone-high-buy:#5c1f70;--zone-default:#64748b;--risk-extreme:#dc2626;--risk-high:#ea580c;--risk-elevated:#f59e0b;--risk-moderate:#84cc16;--risk-low:#22c55e;--forecast-historical:#555;--forecast-historical-fill:#6b728026;--forecast-up2sigma:#4ade80;--forecast-flat:#9ca3af;--forecast-down2sigma:#fb7185;--forecast-live:#2563eb;--forecast-grid:#e5e5e5;--forecast-zero-line:#4b5563;--forecast-separator:#9ca3af;--forecast-tooltip-bg:#2c2c2c;--forecast-tooltip-text:#fff;--forecast-edge-label-bg:#f5f5f5;--forecast-edge-label-border:#d0d0d0;--forecast-edge-label-text:#555;--character-escalation:#dc2626;--character-hidden-risk:#d97706;--character-self-limiting:#059669;--character-one-time:#2563eb;--regime-linear:#059669;--regime-active:#f59e0b;--regime-saturated:#9ca3af}.chart-tick{font-size:var(--chart-tick-size,11px);font-weight:var(--chart-tick-weight,500);font-family:var(--font);font-variant-numeric:tabular-nums;text-rendering:geometricprecision}.chart-label{font-size:var(--chart-label-size,12px);font-weight:var(--chart-label-weight,500);font-family:var(--font);font-variant-numeric:tabular-nums;text-rendering:geometricprecision;letter-spacing:.02em}.chart-title{font-size:var(--chart-title-size,13px);font-weight:var(--chart-title-weight,600);font-family:var(--font);font-variant-numeric:tabular-nums;text-rendering:geometricprecision}.chart-annotation{font-size:var(--chart-annotation-size,9px);font-weight:var(--chart-annotation-weight,500);font-family:var(--font);font-variant-numeric:tabular-nums;text-rendering:geometricprecision}.chart-mono{font-size:var(--chart-tick-size,11px);font-weight:var(--chart-tick-weight,500);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-rendering:geometricprecision}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#9b9b9b4d transparent;margin:0;padding:0}body{font-family:var(--font);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#9b9b9b59;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#9b9b9b99}.message-content{color:var(--text-primary);font-size:14px;line-height:1.7}.message-content h1,.message-content h2,.message-content h3{margin-top:22px;margin-bottom:10px;font-weight:600;line-height:1.3}.message-content h1{font-size:20px}.message-content h2{border-bottom:1px solid var(--border);padding-bottom:6px;font-size:17px}.message-content h3{color:var(--text-secondary);font-size:15px}.message-content p{margin-bottom:14px}.message-content ul,.message-content ol{margin-bottom:14px;padding-left:22px}.message-content li{margin-bottom:6px;line-height:1.65}.message-content li::marker{color:var(--text-muted)}.message-content strong{color:var(--text-primary);font-weight:600}.message-content em{color:var(--text-secondary);font-style:italic}.message-content code{color:#8b5cf6;border-radius:var(--radius-xs);font-size:12.5px;font-family:var(--font-mono);background:#8b5cf614;padding:2px 6px;font-weight:600}.message-content pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px;padding:14px 16px;line-height:1.6;overflow-x:auto}.message-content pre code{color:var(--text-primary);background:0 0;border:none;padding:0;font-size:12.5px}.message-content table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:13px}.message-content th,.message-content td{border:1px solid var(--border);text-align:left;padding:8px 12px}.message-content th{background:var(--bg-tertiary);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);font-size:12px;font-weight:600}.message-content tr:nth-child(2n){background:var(--bg-secondary)}.message-content tr:hover{background:var(--bg-hover,#00000005)}.message-content blockquote{border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);background:#60a5fa0f;margin:14px 0;padding:12px 16px;line-height:1.7}.message-content blockquote p{margin-bottom:6px}.message-content blockquote p:last-child{margin-bottom:0}.message-content hr{border:none;border-top:1px solid var(--border);margin:22px 0}.message-content a{color:var(--accent);text-decoration:none}.message-content a:hover{text-decoration:underline}.cq-container{container:messages/inline-size}.cq-widget{container:widget/inline-size}.virtuo-return-action{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.virtuo-return-action:hover{background:var(--bg-secondary);border-color:var(--border-strong,var(--border));color:var(--text-primary)}.virtuo-return-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.virtuo-return-action--desktop{height:30px;padding:0 10px}.virtuo-return-action--mobile{height:32px;padding:0 9px}@container messages (width<=31.25rem){.chart-grid{grid-template-columns:1fr}}@container widget (width<=24.9rem){.dashboard-card .card-body{padding:8px}.dashboard-card .card-header{padding:4px 8px;font-size:11px}}@container widget (width>=25rem) and (width<=37.4rem){.dashboard-card .card-body{padding:10px}}@container widget (width>=37.5rem){.dashboard-card .card-body{padding:12px}}@container messages (width<=43.75rem){.message-container{max-width:100%;padding-left:12px;padding-right:12px}}.resize-handle-vertical{position:relative}.resize-handle-vertical:after{content:"";background:0 0;transition:background .15s;position:absolute;inset:0}.resize-handle-vertical:hover:after,.resize-handle-vertical[data-resize-handle-active]:after{background:var(--accent)}.virtuo-chart-widget{background:#fff;border-radius:8px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.virtuo-chart-widget .virtuo-chart-header{border-bottom:1px solid var(--border,#eee);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.virtuo-chart-widget .virtuo-chart-body{flex:1;width:100%;min-height:260px;position:relative}.virtuo-chart-widget .virtuo-chart-legend{border-top:1px solid var(--border,#eee);flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:4px 12px;display:flex}@keyframes shimmer{0%{opacity:.5}50%{opacity:.8}to{opacity:.5}}:root{--fs-micro:clamp(.563rem, .5rem + .2vw, .625rem);--fs-label:clamp(.688rem, .625rem + .2vw, .75rem);--fs-body:clamp(.75rem, .7rem + .2vw, .875rem);--fs-title:clamp(.875rem, .8rem + .25vw, 1rem);--fs-hero:clamp(1.125rem, 1rem + .4vw, 1.5rem);--fs-kpi:clamp(1.5rem, 1.2rem + 1vw, 2.25rem)}.canvas-widget{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.canvas-widget:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.canvas-widget:focus-within{outline:2px solid var(--accent);outline-offset:1px}.widget-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:6px;min-height:28px;padding:4px 8px;display:flex}.widget-header:active{cursor:grabbing}.widget-header-label{font-size:var(--fs-label);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.widget-header-actions{flex-shrink:0;gap:2px;display:flex}.widget-header-btn{color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:background .1s,color .1s;display:flex}.widget-header-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.widget-content{flex:1;min-height:0;overflow:auto}.widget-collapsed{color:var(--text-muted);font-size:var(--fs-label);flex:1;justify-content:center;align-items:center;padding:8px;display:flex}.react-grid-item.react-draggable-dragging{opacity:.85;z-index:100;box-shadow:0 8px 24px #0003}.react-grid-item>.react-resizable-handle:after{border-color:var(--text-muted)!important}.canvas-widget[data-aspect="4-3"] .widget-content{aspect-ratio:4/3}.canvas-widget[data-aspect="5-3"] .widget-content{aspect-ratio:5/3}.canvas-widget[data-aspect="5-4"] .widget-content{aspect-ratio:5/4}.canvas-widget[data-aspect="16-9"] .widget-content{aspect-ratio:16/9}@container widget (width<=15rem){.widget-header{min-height:22px;padding:2px 6px}.widget-header-label{font-size:var(--fs-micro)}.widget-content{padding:4px}}@container widget (width>=15rem) and (width<=25rem){.widget-header{padding:3px 6px}.widget-content{padding:6px}}@container widget (width>=25rem) and (width<=37.5rem){.widget-content{padding:8px}}@container widget (width>=37.5rem){.widget-content{padding:10px}}.canvas-widget[data-tier="1"]{border-left:2px solid var(--accent)}.canvas-widget[data-tier="4"]{border-left:2px solid #8b5cf6}@media (width<=767px){::-webkit-scrollbar{width:0}.message-content h2{font-size:15px}.message-content th,.message-content td{padding:4px 6px;font-size:12px}.message-content table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.message-content pre{padding:8px;font-size:12px}.message-content code{font-size:12px}}
