@tailwind base;@tailwind components;@tailwind utilities;:root{--bg: #f4f6f8;--panel: #ffffff;--panel-soft: #f8fafc;--ink: #17202a;--muted: #607083;--line: #d9e1ea;--line-strong: #bdc9d7;--blue: #0b5cab;--green: #0a7a5c;--yellow: #9a6700;--orange: #b45309;--red: #b42318;--live-bg: #eef8f4;--live-line: #b8ddd0}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--ink);font-family:Aptos,Segoe UI,system-ui,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,div[role=button]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.workspace-shell{width:min(1580px,calc(100vw - 28px));margin:0 auto;padding:12px 0 136px}.top-nav-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:0 12px;box-shadow:0 8px 28px #17202a0f}.app-header{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:max-content;padding:8px 0}.app-title{text-align:right}.app-header h1{margin:0;font-size:19px;line-height:1.15;letter-spacing:0}.eyebrow{margin-bottom:2px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.header-controls,.toolbar-actions,.button-row,.row-actions,.inline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-actions,.inline-actions{justify-content:flex-end;flex-wrap:nowrap}.button-row.tight{gap:4px;flex-wrap:nowrap}.compact-note{margin:6px 0 0;font-size:13px}.inline-help{margin-bottom:10px;padding:9px 10px;border:1px solid #bfd7ef;border-radius:8px;background:#f3f8fd;color:#26445f;font-size:14px;line-height:1.45}.template-builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.rule-baseline-box{display:grid;gap:8px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;padding:9px}.rule-baseline-header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#304158;font-size:14px}.rule-baseline-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-textarea{min-height:72px;resize:vertical;line-height:1.35}.module-tabs{display:flex;gap:4px;min-width:0;margin:0;overflow-x:auto}.module-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:#435266;padding:7px 10px;font-size:14px;font-weight:700}.module-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.stack{display:grid;gap:9px}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reference-stack{display:grid;gap:9px}.live-comparison-period{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--muted);font-size:14px}.live-comparison-period>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin-right:auto}.live-comparison-period strong{color:var(--ink);font-size:17px}.live-comparison-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.live-comparison-signals .metric-tile{min-width:0;padding:12px}.live-comparison-signals .metric-tile strong{font-size:27px;line-height:1.2}.live-comparison-timing{display:flex;align-items:center;gap:5px;margin:2px 1px 8px;color:var(--muted);font-size:13px}.live-comparison-gaps{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--panel)}.live-comparison-gaps h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:15px}.live-comparison-gaps>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.live-comparison-gap{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border-radius:7px;background:var(--panel-soft)}.live-comparison-gap span{margin-right:auto;color:var(--muted);font-size:13px}.live-comparison-gap strong{font-size:18px;white-space:nowrap}.live-comparison-details{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:0 12px}.live-comparison-details>summary{cursor:pointer;padding:11px 0;font-size:15px;font-weight:750}.live-comparison-details>summary span{margin-left:8px;color:var(--muted);font-size:13px;font-weight:500}.live-comparison-details[open]{padding-bottom:12px}.live-comparison-details>.two-table-grid,.live-comparison-details>.data-panel,.live-comparison-details>.analysis-notes,.live-comparison-details>.data-table{margin-top:9px}.reference-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.reference-tile{min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--panel-soft);padding:8px 9px}.reference-tile span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.reference-tile strong,.reference-tile a{display:block;margin-top:4px;overflow:hidden;color:#243246;font-size:15px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.reference-tile a{color:var(--blue);text-decoration:none}.reference-tile a:hover{text-decoration:underline}.compact-inline-help{display:flex;align-items:center;gap:8px;margin-bottom:0}.metric-tile,.tower-panel,.work-panel,.data-panel,.live-sidebar,.live-detail,.code-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px #17202a0b}.metric-tile{padding:8px 10px}.metric-tile span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.metric-tile strong{display:block;margin-top:3px;font-size:21px;line-height:1}.metric-tile .live-quality-stale{display:inline-block;margin-left:7px;color:#986019;font-size:12px;font-weight:700;vertical-align:middle}.live-next-step{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:14px}.live-next-step>span{color:var(--muted)}.live-next-step>strong{font-weight:600}.live-tab-update{margin-left:6px;color:#986019;font-size:12px;font-weight:700}.live-p123-details{padding:8px 0}.live-p123-details>summary{cursor:pointer;color:var(--muted);font-size:14px}.live-p123-details>.two-table-grid{margin-top:10px}.live-records-details{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.live-records-details>summary{cursor:pointer;color:var(--ink);font-size:14px;font-weight:600;padding:5px 0}.live-records-details[open]>summary{margin-bottom:12px}.live-single-chart{display:grid;grid-template-columns:minmax(0,1fr)}.tower-panel{overflow:visible}.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 12px;border-bottom:1px solid var(--line);background:#fbfcfe}.panel-toolbar h2,.section-header h2,.data-panel h3,.equity-drawer h3{margin:0;font-size:17px;letter-spacing:0}.toolbar-meta,.equity-drawer span{margin-top:3px;color:var(--muted);font-size:13px}.tower-table{overflow-x:auto;overflow-y:visible}.tower-head,.tower-row{display:grid;grid-template-columns:minmax(280px,1.8fr) 112px 76px 76px 76px 76px minmax(122px,.9fr) 44px;align-items:center;gap:8px;min-width:1040px}.tower-head{padding:7px 10px;background:#eef2f6;border-bottom:1px solid var(--line-strong);color:#46566a;font-size:12px;font-weight:900;text-transform:uppercase}.tower-head>span:last-child{text-align:right}.sort-header{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;border:0;background:transparent;color:inherit;padding:0;font-size:inherit;font-weight:inherit;text-align:left;text-transform:inherit}.sort-header span:last-child{color:#7b8795;font-size:12px}.sort-header.active{color:var(--blue)}.tower-row{width:100%;border:0;border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}.tower-block{position:relative;overflow:visible;border-top:3px solid var(--strategy-accent, #98a8b9);border-right:1px solid var(--line);border-left:1px solid var(--line);background:#fff}.tower-block+.tower-block{margin-top:7px}.tower-block:nth-of-type(6n+2){--strategy-accent: #0b5cab;--strategy-wash: #f3f8ff}.tower-block:nth-of-type(6n+3){--strategy-accent: #0a7a5c;--strategy-wash: #f3fbf8}.tower-block:nth-of-type(6n+4){--strategy-accent: #9a6700;--strategy-wash: #fff9e8}.tower-block:nth-of-type(6n+5){--strategy-accent: #b45309;--strategy-wash: #fff4ea}.tower-block:nth-of-type(6n){--strategy-accent: #475569;--strategy-wash: #f6f8fb}.tower-block:nth-of-type(6n+1){--strategy-accent: #b42318;--strategy-wash: #fff5f4}.tower-block:focus-within{z-index:60}.strategy-row{background:linear-gradient(90deg,var(--strategy-wash, #ffffff),#ffffff 34%)}.strategy-row:hover{background:#f7fbff}.live-row{background:var(--live-bg);border-bottom-color:var(--live-line)}.live-row:hover{background:#e5f4ee}.empty-live{color:var(--muted)}.tower-block.expanded .strategy-row{box-shadow:inset 4px 0 0 var(--strategy-accent, var(--blue))}.identity-cell{display:grid;gap:2px;min-width:0}.identity-cell strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.identity-cell small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.live-identity strong{color:#125c49}.live-link{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:2px}.metric-value{color:#243246;font-size:14px;font-variant-numeric:tabular-nums;font-weight:800}.metric-value.risk{color:var(--red)}.tower-secondary-metric{display:grid;gap:2px;min-width:0}.tower-secondary-metric small{color:var(--muted);font-size:12px;line-height:1;white-space:nowrap}.delta-pack{display:flex;align-items:flex-start;flex-direction:column;gap:2px}.delta{display:inline-flex;width:fit-content;border:1px solid #d5dde7;border-radius:6px;background:#f6f8fb;color:#526174;padding:1px 5px;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.delta.good{border-color:#acd7c9;background:#cfe9dc;color:var(--green)}.delta.bad{border-color:#f0bbb7;background:#fff0ef;color:var(--red)}.delta.neutral{border-color:#d5dde7;background:#f6f8fb;color:#526174}.clickable-delta{cursor:pointer;font-family:inherit}.clickable-delta:hover{filter:brightness(.97);text-decoration:underline;text-underline-offset:2px}.status-pill{display:inline-flex;align-items:center;width:fit-content;min-height:18px;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:900;text-transform:uppercase}.status-pill.good{background:#cfe9dc;color:var(--green)}.status-pill.watch{background:#fff6d8;color:var(--yellow)}.status-pill.warning{background:#fff0df;color:var(--orange)}.status-pill.danger{background:#f9d2cd;color:var(--red)}.status-pill.neutral{background:#eef2f6;color:#526174}.backtest-history-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.source-badge{display:inline-flex;border-radius:6px;background:#cfe9dc;color:var(--green);padding:2px 7px;font-size:12px;font-weight:900;text-transform:uppercase}.btn{min-height:28px;border:1px solid transparent;border-radius:7px;padding:5px 8px;font-size:14px;font-weight:850;line-height:1}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{border-color:var(--line-strong);background:#fff;color:#223044}.btn.tiny{min-height:24px;padding:4px 7px;font-size:12px}.btn.danger{background:var(--red);color:#fff}.action-menu{position:relative;display:inline-flex;z-index:90}.icon-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:#253348;font-size:14px;font-weight:900;line-height:1}.action-menu-popover{position:absolute;right:0;top:28px;z-index:120;display:grid;min-width:150px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;box-shadow:0 14px 30px #17202a29;padding:4px}.fixed-popover{position:fixed!important;right:auto!important;z-index:500!important}.action-menu-popover button{border:0;border-radius:5px;background:transparent;color:#253348;padding:7px 8px;font-size:14px;font-weight:750;text-align:left}.action-menu-popover button:hover{background:#eef4fb}.action-menu-popover button:disabled{color:#8b97a8;cursor:not-allowed}.action-menu-popover button:disabled:hover{background:transparent}.action-menu-popover button.danger-action{color:var(--red)}.action-menu-popover button.danger-action:hover{background:#f9d2cd}.simulation-context-menu{min-width:230px}.banner{border-radius:7px;margin-bottom:8px;padding:8px 10px;font-size:14px;font-weight:700}.banner.info{background:#e8f2ff;color:var(--blue)}.banner.success{background:#cfe9dc;color:var(--green)}.banner.danger{background:#f9d2cd;color:var(--red)}.activity-center{position:fixed;right:20px;bottom:18px;z-index:295;width:min(540px,calc(100vw - 32px));display:grid;gap:8px;pointer-events:none;font-family:inherit}.activity-center>*{pointer-events:auto}.toast-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:10px;padding:12px 15px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.55;box-shadow:0 6px 24px #30274712;max-height:25vh;overflow:auto}.toast-line span{min-width:0;overflow-wrap:anywhere}.toast-line button{flex:none;border:0;padding:0 3px;background:transparent;color:inherit;font:inherit;font-size:21px;line-height:1;cursor:pointer}.toast-line button.toast-action{align-self:center;padding:7px 9px;border:1px solid currentColor;border-radius:6px;font-size:14px;font-weight:650;line-height:1.2;white-space:nowrap}.toast-line.info{background:#f5f2fb;color:var(--blue)}.toast-line.success{background:#f0f8f4;color:var(--green)}.toast-line.danger{background:#fff2f5;color:var(--red)}.job-dock{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 32px #30274718;overflow:hidden}.job-dock-inner{min-width:0}.job-dock-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;color:var(--ink)}.job-dock-head>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.job-dock-head strong{font-size:15px;font-weight:550}.job-dock-head span{color:var(--muted);font-size:13px;font-weight:400}.job-dock-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.job-dock-controls button,.job-dock-more{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--blue);font:inherit;font-size:13px;font-weight:500;padding:6px 9px;cursor:pointer}.job-dock-controls button:hover,.job-dock-more:hover{background:var(--panel-soft)}.job-dock-list{display:grid;gap:10px;padding:0 12px 12px;max-height:min(360px,50vh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.job-dock-list[hidden]{display:none}.job-dock-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.job-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:14px;font-weight:550}.job-card-strategy{font-size:14px;font-weight:500;margin-top:8px;overflow-wrap:anywhere;color:var(--ink)}.job-card-strategy:empty{display:none}.job-card-message{margin-top:7px;font-size:14px;line-height:1.6;font-weight:400;color:var(--ink);white-space:normal;overflow-wrap:anywhere}.job-chip-row{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:10px}.job-chip-row span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.job-dock-more{justify-self:start}.job-indeterminate{position:relative;height:4px;margin-top:6px;overflow:hidden;border-radius:999px;background:#dce6f0}.job-indeterminate span{position:absolute;top:0;bottom:0;left:-35%;width:35%;border-radius:inherit;background:var(--blue);animation:job-wait-slide 1.3s ease-in-out infinite}@keyframes job-wait-slide{0%{transform:translate(0)}to{transform:translate(390%)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;display:grid;place-items:center;background:#0f172a61;padding:20px}.modal-card{width:min(980px,calc(100vw - 36px));max-height:calc(100vh - 44px);overflow:auto;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);box-shadow:0 24px 70px #0f172a42}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#fbfcfe;padding:10px 12px}.modal-header h2{margin:0;font-size:18px}.modal-card .work-panel,.modal-work{border:0;border-radius:0;box-shadow:none}.modal-actions{justify-content:flex-end}.equity-drawer{border-bottom:1px solid var(--line);background:#fbfcfe;padding:10px}.drawer-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.chart-frame{position:relative;height:290px;min-height:220px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px}.interactive-chart{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.chart-mode-bar{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;grid-template-rows:auto auto;min-height:29px;align-items:center;gap:8px;cursor:default;overflow:hidden}.chart-mode-bar>.segmented-control,.chart-mode-bar>.chart-reset-btn{min-width:max-content}.chart-mode-bar>.segmented-control:first-child{grid-column:1}.chart-mode-bar>.chart-interaction-hint{grid-column:1 / -1;grid-row:2;min-width:0}.chart-mode-bar>.compact-segment{grid-column:2;grid-row:1}.chart-mode-bar>.chart-reset-btn{grid-column:3;grid-row:1}.chart-mode-bar>.compact-segment,.chart-mode-bar>.chart-reset-btn{justify-self:end}.detail-chart-controls{justify-content:flex-end;margin-bottom:6px}.segmented-control{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line-strong);border-radius:7px;background:#fffffff0;padding:2px;box-shadow:0 4px 14px #17202a14}.chart-plot-area{position:relative;min-height:0}.chart-selection-band{position:absolute;top:8px;bottom:34px;z-index:2;border:1px solid rgba(11,92,171,.36);border-radius:5px;background:#0b5cab1f;pointer-events:none}.segmented-control button{min-height:23px;border:0;border-radius:5px;background:transparent;color:#3f5064;padding:3px 7px;font-size:12px;font-weight:850}.segmented-control button.active{background:var(--blue);color:#fff}.compact-segment button.active{background:#26364a}.link-button{border:0;background:transparent;color:var(--blue);padding:0;font:inherit;font-weight:850;text-decoration:underline;cursor:pointer}.link-button:hover{color:#083f78}.chart-interaction-hint{width:100%;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;font-weight:800}.interactive-chart:active,.interactive-chart.is-dragging{cursor:grabbing}.interactive-chart .recharts-brush-slide,.interactive-chart .recharts-brush-traveller{cursor:grab}.chart-frame.compact,.backtest-trend .chart-frame{height:230px}.global-chart-frame{height:340px;border-top-right-radius:0;border-top-left-radius:0}.global-chart-frame.no-data{height:auto;min-height:112px}.global-chart-controls>label:not(.check-chip){display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.global-period-controls[open]{flex-basis:100%}.global-period-controls>summary{color:var(--muted);font-size:14px;cursor:pointer}.global-period-fields{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}.global-period-fields label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.global-period-fields input{min-height:32px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.global-chart-controls>label:not(.check-chip) select,.global-chart-controls>label:not(.check-chip) input{min-height:32px;padding:4px 8px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.global-chart-summary{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:8px 10px;font-size:13px}.global-chart-summary span:not(:first-child){border-left:3px solid;padding:3px 7px;background:#f7f9fb;border-radius:4px}.global-chart-summary .global-chart-stale{border-left-color:#b7791f;background:#fff4df;color:#805013;display:inline-flex;align-items:center;gap:5px}.global-collapsed{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:30px}.setup-grid,.two-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.backtests-top-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:9px;align-items:start}.work-panel{display:grid;gap:9px;padding:10px}.backtest-control-panel{align-content:start}.strategy-listbox{min-height:150px}.vertical-actions{align-items:stretch}.section-header{display:flex;align-items:center;gap:6px}.form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-block{display:grid;gap:5px}.field-block span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.control-input,.control-select,.readonly-field{width:100%;min-height:30px;border:1px solid var(--line-strong);border-radius:7px;background:#fff;color:var(--ink);padding:5px 7px;font-size:14px}.inline-select{min-height:24px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:#27364a;padding:2px 6px;font-size:13px;font-weight:850}.status-select{max-width:104px;text-transform:capitalize}.notes-area{min-height:86px;resize:vertical}.readonly-field{display:flex;align-items:center;background:var(--panel-soft);color:#334155}.data-panel{overflow:auto;padding:9px}.data-panel h3{margin-bottom:10px}.heatmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:5px;max-height:230px;overflow:auto}.heatmap-grid.condensed{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:3px;max-height:190px}.heat-cell{display:grid;gap:2px;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;color:#334155;padding:6px;font-size:12px;font-weight:800}.heat-cell strong{font-size:14px}.heatmap-grid.condensed .heat-cell{min-height:28px;gap:1px;border-radius:5px;padding:3px 4px;font-size:12px}.heatmap-grid.condensed .heat-cell strong{font-size:12px}.heatmap-grid.condensed .heat-cell em{display:none}.heat-cell em{overflow:hidden;color:inherit;font-size:12px;font-style:normal;font-weight:750;opacity:.75;text-overflow:ellipsis;white-space:nowrap}.heat-good{background:#cfe9dc;color:#087254}.heat-strong{background:#cdece0;color:#075f46}.heat-watch{background:#fff6dc;color:#8a5a00}.heat-bad{background:#fee4e2;color:#9f1d1d}.analysis-notes{display:grid;gap:4px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;color:#3f5064;font-size:14px;font-weight:750}.analysis-notes p{margin:0}.scroll-table{max-height:280px;overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table caption{padding:6px 0 8px;color:#3f5064;font-size:13px;font-weight:900;text-align:left;text-transform:uppercase}.data-table th,.data-table td{border-bottom:1px solid #e6ecf2;padding:6px 7px;font-size:14px;text-align:left;vertical-align:middle}.data-table th{background:#f3f6f9;color:#46566a;font-size:12px;font-weight:900;text-transform:uppercase}.compact-table th,.compact-table td{padding:5px 6px;font-size:13px}.backtest-history-table th,.backtest-history-table td{padding:8px 9px}.history-date-range,.history-p123-link{display:block;margin-top:4px;font-size:12px;white-space:nowrap}.history-date-range{color:var(--muted)}.history-sort-control{max-width:230px;margin-bottom:8px}.single-run-trend{display:flex;align-items:baseline;gap:12px;margin:0;color:var(--muted)}.single-run-trend strong{color:var(--ink);font-size:27px;font-weight:650}.history-row-menu{margin:0;padding:0}.history-row-menu summary{cursor:pointer;list-style:none;border:1px solid var(--line-strong);border-radius:6px;padding:5px 8px;background:var(--panel);white-space:nowrap}.history-row-menu summary::-webkit-details-marker{display:none}.history-row-menu>div{display:grid;gap:4px;padding-top:5px}.history-row-menu button{border:0;background:transparent;text-align:left;padding:5px;white-space:nowrap}.history-row-menu button:hover{background:var(--panel-soft)}.history-row-menu .danger-action{color:var(--red)}.key-value-summary{display:grid;gap:8px}.key-value-summary th{width:42%;color:var(--muted);text-align:left}.raw-details summary{color:var(--blue);cursor:pointer;font-size:13px;font-weight:800}.error-cell{color:var(--red);font-size:13px}.jobs-table th,.jobs-table td{white-space:nowrap}.jobs-table .request-cell,.jobs-table .action-cell,.jobs-table .error-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-table .action-cell{color:#314155}.stale-job-row{background:#fff8e6}.job-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:nowrap}.time-cell{color:#314155;font-variant-numeric:tabular-nums}.strong-time{font-weight:850}.live-layout{display:grid;grid-template-columns:500px minmax(0,1fr);gap:9px}.simulations-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.4fr);gap:9px}.simulations-chart-frame{height:min(620px,calc(100vh - 230px));min-height:420px}.simulations-chart-frame .chart-mode-bar{grid-template-columns:minmax(0,1fr) 90px 82px;grid-template-rows:29px 16px}.simulations-chart-frame .chart-mode-bar>.compact-segment{width:90px;justify-content:center}.simulation-chart-loading{position:absolute;z-index:3;top:12px;left:50%;transform:translate(-50%);padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:14px;pointer-events:none}.app-update-notice{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:500;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:13px 14px;border:2px solid #a76925;border-radius:10px;background:#fbe8c6;box-shadow:0 12px 32px #17202a38;color:#55330d;font-size:15px;font-weight:650}.app-update-notice button{border:0;border-radius:6px;padding:8px 11px;background:var(--blue);color:#fff;cursor:pointer;white-space:nowrap}.equity-chart-error{position:absolute;z-index:4;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);color:var(--danger, #a52a32);box-shadow:0 6px 20px #17202a1f}.selected-table-row td{background:#e8f2ff}.clickable-table-row{cursor:pointer}.clickable-table-row:hover td{background:#f3f8fd}.setting-check{width:fit-content;max-width:100%;text-transform:none}.settings-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-overview>div{display:flex;align-items:center;gap:9px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.settings-overview span{color:var(--muted)}.settings-overview strong{margin-left:auto;white-space:nowrap}.settings-technical summary{cursor:pointer}.settings-technical .code-panel{margin-top:10px}@media (max-width: 780px){.settings-overview{grid-template-columns:1fr}}.live-sidebar,.live-detail{padding:10px}.live-sidebar{display:grid;align-content:start;gap:9px}.live-list{display:grid;gap:5px}.live-list-table-wrap{max-height:calc(100vh - 220px);overflow-x:hidden;overflow-y:auto}.live-list-actions{justify-content:flex-start}.live-list-table{min-width:0;table-layout:fixed}.live-list-table th,.live-list-table td{padding-left:5px;padding-right:5px;white-space:nowrap}.live-list-table th:nth-child(1),.live-list-table td:nth-child(1){width:62%}.live-list-table th:nth-child(2),.live-list-table td:nth-child(2){width:38%;text-align:right}.live-list-table .status-pill{padding:4px 8px;font-size:13px;font-weight:700;text-transform:none;white-space:nowrap}.live-list-status{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;max-width:100%}.live-list-status .research-help{flex:none}.live-row-link{display:grid;gap:2px;text-align:left}.live-name-one-line{display:block;max-width:100%;overflow:hidden;color:#243246;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.live-row-link span{color:var(--muted);font-size:12px;font-weight:800}.live-subtabs{padding:6px 0 2px}.live-list button{display:grid;gap:2px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px;text-align:left}.live-list button.selected{border-color:var(--green);background:var(--live-bg)}.live-list span{color:var(--muted);font-size:13px}.live-detail{display:grid;gap:9px}.backup-list{display:grid;gap:8px}.backup-row{display:grid;grid-template-columns:90px 120px 1fr auto;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.code-panel{overflow:auto;padding:14px;font-size:13px}.mini-json{max-height:220px;overflow:auto;margin:0;border-radius:7px;background:#f7f9fb;padding:8px;color:#26364a;font-size:12px;line-height:1.35}.empty-state{display:grid;min-height:90px;place-items:center;color:var(--muted);font-size:14px;font-weight:700;text-align:center}.muted{color:var(--muted);font-size:13px}.compact-toolbar{padding-bottom:7px}.global-chart-controls{display:flex;flex-wrap:wrap;gap:5px;border-bottom:1px solid var(--line);background:#f7f9fb;padding:7px 10px}.check-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;padding:4px 7px;color:#314155;font-size:13px;font-weight:750}.check-chip input{width:13px;height:13px}.comparison-stale-indicator{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:2px;border-radius:50%;background:#fff0cf;color:#805013;font-size:13px;font-weight:800;line-height:1;cursor:help}@media (max-width: 1100px){.summary-strip,.reference-strip,.setup-grid,.two-table-grid,.backtests-top-grid,.rule-baseline-grid,.simulations-layout,.live-layout{grid-template-columns:1fr}.form-grid,.form-grid.two{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.workspace-shell{width:min(100vw - 18px,1580px);padding-top:10px}.top-nav-bar{align-items:stretch;flex-direction:column-reverse;gap:0;padding:7px 10px 0}.app-header{justify-content:space-between;min-width:0;width:100%;padding:0 0 6px}.app-title{text-align:left}.panel-toolbar,.drawer-header{align-items:stretch;flex-direction:column}.module-tabs{width:100%;overflow-x:auto;white-space:nowrap}.summary-strip,.reference-strip,.live-comparison-signals,.live-comparison-gaps>div,.form-grid,.form-grid.two{grid-template-columns:1fr}.chart-frame{height:300px}}.evidence-panel{padding:16px;min-width:0;overflow-x:auto}.ai-analysis-panel{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:14px}.ai-analysis-panel p{margin:8px 0 4px;line-height:1.45}.ai-analysis-panel details{margin-top:4px;border-top:1px solid var(--line)}.ai-analysis-panel summary{cursor:pointer;padding:7px 0 0}.ai-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px}.ai-insight-card{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}.ai-insight-card:first-child{grid-column:1/-1;border-left:4px solid var(--accent,#5868a7)}.ai-insight-card h4{margin:0 0 8px;font-size:15px;line-height:1.3}.ai-insight-card p{margin:6px 0;line-height:1.5;overflow-wrap:anywhere}.ai-conversation{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.ai-conversation-heading{display:flex;align-items:center;gap:8px}.ai-conversation-heading h4{margin:0 0 10px;font-size:17px}.ai-conversation-turn{display:grid;gap:8px;margin:12px 0}.ai-chat-question,.ai-chat-answer{max-width:min(100%,780px);padding:10px 13px;border-radius:12px}.ai-chat-question{justify-self:end;background:var(--accent-soft,#edf0ff)}.ai-chat-answer{justify-self:start;background:var(--surface,#fff);border:1px solid var(--line)}.ai-chat-question p,.ai-chat-answer p{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.ai-chat-form{display:grid;gap:7px;margin-top:16px}.ai-chat-form textarea{width:100%;min-height:82px;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--surface,#fff);color:inherit;font:inherit}.ai-chat-form .button-row{align-items:center}.ai-finding-item{padding-left:12px;border-left:2px solid var(--line)}.ai-export-details{margin-top:10px}.saved-backtest-details,#backtest-history{scroll-margin-top:24px}.saved-backtest-details:focus{outline:none}.evidence-panel h2{font-size:18px;margin:0 0 10px}.evidence-panel details{margin-top:14px}.evidence-panel summary{cursor:pointer;font-weight:600;padding:8px 0}.evidence-json{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.evidence-value{max-width:320px;overflow-wrap:anywhere;white-space:normal}.connection-error{margin:12px 0;padding:8px 12px;border:1px solid #ead9b8;background:#fffcf5;color:#765d2d;border-radius:8px;font-size:14px}.connection-error.critical{border-color:#f0b5ac;background:#fff7f5;color:#912018}.connection-error summary{cursor:pointer;font-weight:600}.connection-error-details{margin-top:8px;line-height:1.5}.connection-error-details p{margin:4px 0}.robustness-builder-actions{margin-top:18px;gap:10px}.chart-alignment{display:inline-flex;align-items:center;gap:8px;font-size:14px;margin-left:auto}.chart-alignment select{padding:5px 8px;border:1px solid #d8d1e3;border-radius:7px;background:#faf8fd;color:#45375b}.preset-plan input[type=checkbox]{width:16px;height:16px;accent-color:#76619a}.preset-plan .research-table-scroll{max-height:min(43vh,420px);overflow:auto;margin-top:8px}.preset-plan thead{position:sticky;top:0;z-index:1;background:#faf8fd}.studio-familiar{--bg:#e8ebf1;--panel:#fff;--panel-soft:#f1f3f7;--ink:#1b1d2c;--muted:#4b4e63;--line:#cdd2dd;--line-strong:#aeb5c6;--blue:#4a3db0;--green:#17684b;--yellow:#8a5800;--orange:#9e4a0a;--red:#a01f3d;--live-bg:#dff0e8;--live-line:#9fcdb9}.studio-familiar body{background:var(--bg);color:var(--ink);font-family:Segoe UI Variable,Segoe UI,sans-serif;font-size:15px}.studio-familiar button,.studio-familiar input,.studio-familiar select,.studio-familiar textarea{font-family:inherit}.studio-familiar :is(button,a,input,select,textarea):focus-visible{outline:2px solid #8a7bc9;outline-offset:3px}.studio-familiar .workspace-shell{width:min(1620px,calc(100vw - 56px));padding:22px 0 80px}.studio-familiar .top-nav-bar{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 20px;margin-bottom:5px;gap:20px;position:relative;top:auto}.studio-familiar .app-header{padding:0;order:-1;min-width:205px;justify-content:flex-start}.studio-familiar .app-title{text-align:left}.studio-familiar .app-title .eyebrow{color:#888299;font-size:12px;letter-spacing:1.8px;font-weight:600;margin-bottom:7px}.studio-familiar .app-title h1{font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:400;color:#1b1d2c;letter-spacing:-.8px}.studio-familiar .header-controls{margin-left:8px}.studio-familiar .module-tabs{gap:3px;align-items:center;padding:4px;background:#eeedf6;border-radius:11px;flex:0 1 auto}.studio-familiar .module-tabs button{white-space:nowrap;font-size:14px;font-weight:500;border:0;border-radius:8px;padding:11px 13px;color:#77748b}.studio-familiar .module-tabs button.active{color:#6055a6;background:#fff;box-shadow:0 2px 5px #3f315610}.studio-familiar .module-tabs button:hover{color:#6055a6;background:#ffffff80}.studio-familiar .module-tabs button.active:hover{background:#fff}.studio-familiar .stack{gap:18px}.studio-familiar .summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.studio-familiar :is(.metric-tile,.tower-panel,.work-panel,.data-panel,.live-sidebar,.live-detail,.code-panel){border-color:var(--line);border-radius:13px;box-shadow:0 3px 12px #40335a02}.studio-familiar .metric-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px 16px;position:relative;overflow:hidden}.studio-familiar .metric-tile>span{font-size:13px;text-transform:none;color:#828094;font-weight:500;letter-spacing:0}.studio-familiar .metric-tile strong{font-size:28px;letter-spacing:-.8px;color:#514b76;font-weight:500;line-height:1.2;margin-top:0}.studio-familiar .metric-tile-value-action{border:0;background:transparent;padding:3px 5px;border-radius:6px;cursor:pointer}.studio-familiar .metric-tile-value-action:hover,.studio-familiar .metric-tile-value-action:focus-visible{background:#eeeafb;outline:2px solid #b7a8dd;outline-offset:1px}.studio-familiar .metric-tile-value-action strong{color:#6055a6}.studio-familiar .global-collapsed{padding:0;min-height:0;justify-content:flex-end;gap:8px}.studio-familiar .global-collapsed .btn{font-size:13px;background:transparent;border-color:transparent;color:#797093;padding:5px 0;font-weight:500}.studio-familiar .global-collapsed .btn:before{content:"↗";margin-right:7px;color:#8f81bd;font-size:18px}.studio-familiar .panel-toolbar{padding:22px 23px 20px;background:#fff;border-radius:13px 13px 0 0;border-bottom:1px solid var(--line);gap:20px}.studio-familiar :is(.panel-toolbar h2,.section-header h2){font-size:21px;letter-spacing:-.35px;font-weight:550;color:#3e3b57}.studio-familiar .toolbar-meta{font-size:13px;line-height:1.7;margin-top:6px;color:#7e7b8f}.studio-familiar .toolbar-actions{gap:8px;flex-wrap:nowrap}.studio-familiar .btn{border-radius:8px;padding:9px 13px;font-size:14px;font-weight:550;line-height:1.2;box-shadow:none;white-space:nowrap}.studio-familiar .btn.primary{background:#6b61bd;border-color:#6b61bd;color:#fff}.studio-familiar .btn.primary:hover{background:#5b51ad;border-color:#5b51ad}.studio-familiar .btn.secondary{background:#fff;border-color:#dedbe9;color:#716887}.studio-familiar .btn.secondary:hover{background:#f5f3fa;border-color:#c9c3dc}.studio-familiar .btn.tiny{padding:6px 9px;font-size:12px;border-radius:6px}.studio-familiar .btn.danger{color:#ac5870;background:#fcf2f5;border-color:#ead1da}.studio-familiar .research-help>button{width:15px;height:15px;border-color:#d3cfdf;background:transparent;color:#9992ac;font-size:12px;font-weight:500}.studio-familiar .tower-table{padding:0 17px 17px;border-radius:0 0 13px 13px;scrollbar-color:#cfcae1 #f6f5fa;scrollbar-width:thin}.studio-familiar :is(.tower-head,.tower-row){grid-template-columns:minmax(280px,2fr) 94px 74px 62px 78px 78px minmax(110px,.72fr) 54px;gap:10px;min-width:946px}.studio-familiar .tower-head{padding:15px 16px;background:#fff;color:#8a849a;border-bottom:1px solid #ece9f3;font-size:12px;text-transform:none;font-weight:500;margin-bottom:10px}.studio-familiar .sort-header{gap:7px}.studio-familiar .sort-header span:last-child{font-size:12px;color:#aaa4b8;font-weight:400}.studio-familiar .tower-block{border:1px solid #e6e3ef;border-radius:9px;background:#fff;min-width:946px;overflow:hidden}.studio-familiar .tower-block+.tower-block{margin-top:10px}.studio-familiar .tower-row{padding:12px 16px;min-height:59px}.studio-familiar .strategy-row{background:#fff;border-bottom:1px solid #eeeaf5;position:relative}.studio-familiar .strategy-row:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:#aaa0ce;border-radius:0 3px 3px 0}.studio-familiar .strategy-row:hover{background:#faf9fe}.studio-familiar .live-row{background:#f2f8f6;min-height:52px;padding-top:10px;padding-bottom:10px;border-bottom:0}.studio-familiar .live-row+.live-row{border-top:1px solid #e3eeea}.studio-familiar .live-row:hover{background:#eaf4f0}.studio-familiar .tower-block.expanded{border-color:#c3bade;box-shadow:0 2px 12px #70628e07}.studio-familiar .tower-block.expanded .strategy-row{box-shadow:none;background:#f8f6fd}.studio-familiar .identity-cell{gap:5px}.studio-familiar .identity-cell strong{font-size:14px;font-weight:600;letter-spacing:.04px;color:#47415f}.studio-familiar .identity-cell small{font-size:12px;color:#938ba0;letter-spacing:.05px}.studio-familiar .live-identity{padding-left:19px;position:relative}.studio-familiar .live-identity:before{content:"";position:absolute;left:2px;top:2px;width:7px;height:11px;border-left:1px solid #b9d2c9;border-bottom:1px solid #b9d2c9;border-radius:0 0 0 4px}.studio-familiar .live-identity strong{color:#46766a;font-weight:550;font-size:13px}.studio-familiar .live-identity small{color:#8ca197;font-size:12px}.studio-familiar .live-link{color:#518779;font-weight:550;text-decoration:none;border-bottom:1px solid #b2d0c4}.studio-familiar .metric-value{font-size:14px;font-weight:550;color:#57516d;font-variant-numeric:tabular-nums}.studio-familiar .live-row .metric-value{font-size:13px;font-weight:500;color:#4e7f72}.studio-familiar .metric-value.risk,.studio-familiar .live-row .metric-value.risk{color:#b3667b}.studio-familiar .inline-select{font-size:12px;padding:6px 8px;border:1px solid #dfdaeb;color:#786991;background:#faf8fd;border-radius:6px;box-shadow:none}.studio-familiar .status-select{width:94px;min-width:0}.studio-familiar .source-badge{padding:4px 8px;border:1px solid #d6e9df;background:#e6f2ed;color:#6a9787;font-size:12px;letter-spacing:.6px;font-weight:600;border-radius:5px}.studio-familiar .delta-pack{gap:4px}.studio-familiar .delta{font-size:12px;font-weight:500;line-height:1.25;padding:3px 6px;border-radius:4px;white-space:nowrap;background:#f3f1f8;border-color:transparent;color:#9186a6}.studio-familiar .delta.bad{background:#fbf0f3;color:#b97489;border-color:#f4e3e9}.studio-familiar .delta.good{background:#edf5ef;color:#6c997f;border-color:#e0ede2}.studio-familiar .delta.neutral{background:#f1f0f7;border-color:#e7e3f0;color:#8e83a5}.studio-familiar .row-actions{justify-content:flex-end;gap:7px}.studio-familiar .icon-menu-btn{width:25px;height:24px;border:1px solid #e4dfed;background:#fff;border-radius:6px;line-height:16px;font-size:15px;color:#9b90af}.studio-familiar .action-menu-popover{border-color:#dfd8ec;border-radius:10px;box-shadow:0 12px 32px #3a275a1f;background:#fff;padding:5px}.studio-familiar .action-menu-popover button{padding:9px 11px;border-radius:6px;font-size:13px;font-weight:500;color:#695e7d}.studio-familiar .action-menu-popover button:hover{background:#f3effa}.studio-familiar .action-menu-popover .danger-action{color:#ae6178}.research-help-popover{border-radius:9px;border-color:#e2dceb;box-shadow:0 12px 32px #3a275a18;padding:14px;color:#736980;font-size:13px;font-weight:400;line-height:1.8}.studio-familiar .work-panel{padding:22px}.studio-familiar .section-header{margin-bottom:18px}.studio-familiar .data-panel{padding:18px 20px}.studio-familiar .data-panel h3{font-size:15px;font-weight:550;color:#685d7e;margin-bottom:15px}.studio-familiar .form-grid{gap:16px}.studio-familiar .field-block{gap:8px}.studio-familiar .field-block>span{font-size:13px;font-weight:500;color:#8a8099;text-transform:none}.studio-familiar .field-block :is(input,select,textarea){border:1px solid #e2dced;background:#fff;color:#625774;border-radius:7px;padding:10px 11px;font-size:14px;box-shadow:none}.studio-familiar .reference-strip{gap:12px}.studio-familiar .reference-tile{padding:13px 15px;border-color:#e9e4f0;background:#faf8fd;border-radius:8px}.studio-familiar .reference-tile span{font-size:12px;text-transform:none;font-weight:500;color:#93899f}.studio-familiar .reference-tile strong,.studio-familiar .reference-tile a{font-size:15px;font-weight:550;color:#75668e;margin-top:7px}.studio-familiar .data-table{font-size:14px;font-weight:400}.studio-familiar .data-table th{background:#f9f7fc;color:#65576f;font-size:13px;font-weight:550;text-transform:none;padding:12px;border-color:#eae4f2}.studio-familiar .data-table td{padding:12px;border-color:#eee9f5;color:#4e435b;font-size:14px}.studio-familiar .data-table tbody tr:hover{background:#fcfaff}.studio-familiar .selected-table-row td{background:#f3effa}.studio-familiar .segmented-control{box-shadow:none;border-color:var(--line)}.studio-familiar .segmented-control button{font-weight:550;color:#716887}.studio-familiar .segmented-control button.active{background:var(--blue);color:#fff}.studio-familiar .data-table .btn{font-size:12px;padding:6px 9px}.research .history-row-menu{margin:0;padding:0;border:0}.studio-familiar .inline-help{background:#f4f1fb;border-color:#e1d8f0;color:#887899;border-radius:8px;font-size:13px;font-weight:400;line-height:1.8}.studio-familiar .status-pill{font-weight:500;font-size:12px;padding:4px 7px;border-radius:5px}.studio-familiar .status-pill.good{background:#edf6ef;color:#6e987e}.studio-familiar .status-pill.danger{background:#fbf0f4;color:#b97188}.studio-familiar .status-pill.watch{background:#f8f3e9;color:#a4936e}.studio-familiar .equity-drawer{background:#fdfcff;border-top:1px solid #e6deef;padding:20px}.studio-familiar .drawer-header{margin-bottom:18px}.studio-familiar .equity-drawer h3{color:#746184;font-size:18px;font-weight:550}.studio-familiar .equity-drawer .drawer-header span{font-size:13px;color:#95839d;line-height:1.8}.studio-familiar .chart-frame{background:#fff;border-color:#eae2f1;border-radius:9px}.studio-familiar .chart-mode-tabs button{font-weight:500;border-radius:6px;color:#82718f}.studio-familiar .chart-mode-tabs button.active{background:#f0e9f9;color:#806493;border-color:#d9c8e6}.studio-familiar .global-chart-controls{background:#fcfaff;border-color:#e7ddec;padding:14px 20px;gap:8px}.studio-familiar .check-chip{border-color:#dfd1e8;border-radius:7px;color:#524866;padding:7px 10px;font-weight:500;font-size:14px;line-height:1.3;cursor:pointer}.studio-familiar input[type=checkbox]{accent-color:#9271ad}.studio-familiar .modal{border-color:#e0d3ec;border-radius:15px;box-shadow:0 20px 80px #291b4530}.studio-familiar .modal-header{border-bottom:1px solid #eae0f3;padding:20px 24px}.studio-familiar .modal-header h2{font-size:24px;font-weight:500;letter-spacing:-.4px;color:#766180}.studio-familiar .modal-backdrop{background:#30283f55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.studio-familiar .modal-work{padding:24px;box-shadow:none}.studio-familiar .empty-state{font-weight:400;color:#9b86a0;font-size:14px;min-height:90px}.studio-familiar .muted{color:#8f7f99;font-weight:400}.studio-familiar .job-dock{border-color:#ded1e8;background:#fff;box-shadow:0 -4px 20px #3d254b09}.studio-familiar .simulations-layout{gap:18px;min-width:0}.studio-familiar .simulation-name-button{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.studio-familiar .backtest-trend{scroll-margin-top:24px}.studio-familiar .backtest-trend:focus{outline:none}.studio-familiar .jobs-table .strong-time{font-weight:500}.studio-familiar .connection-error{border-color:#e9dfc9;background:#fdfaf2;color:#8b734d}.studio-familiar .connection-error.critical{border-color:#eac6d2;background:#fff6f8;color:#a76a7d}.studio-familiar .tower-head{color:#746982;font-size:13px}.studio-familiar .identity-cell strong{color:#44374f;font-size:15px}.studio-familiar .identity-cell small{color:#82768e;font-size:12px}.studio-familiar .live-identity strong{color:#406e60;font-size:14px}.studio-familiar .live-identity small{color:#718b7e;font-size:12px}.studio-familiar .metric-value{color:#56425e;font-size:15px}.studio-familiar .live-row .metric-value{font-size:14px;color:#47715e}.studio-familiar .delta{font-size:12px}.studio-familiar .delta.bad{color:#a35570}.studio-familiar .delta.good{color:#548568}.studio-familiar .delta.neutral{color:#7b6991}.studio-familiar .metric-tile>span{color:#73627e}.studio-familiar .source-badge{color:#4c7f65;font-size:12px}.studio-familiar :is(.stack,.stack>*,.tower-panel,.work-panel,.data-panel){min-width:0;max-width:100%}.studio-familiar .tower-table{width:100%}@media (max-width:1250px){.studio-familiar .workspace-shell{width:calc(100vw - 40px)}.studio-familiar .top-nav-bar{flex-wrap:wrap;gap:17px}.studio-familiar .app-header{flex:1;min-width:210px}.studio-familiar .module-tabs{flex:0 1 auto}.studio-familiar .module-tabs button{padding:10px;font-size:13px}.studio-familiar .panel-toolbar{padding:20px}}@media (max-width:1000px){.studio-familiar .top-nav-bar{flex-direction:column;align-items:stretch}.studio-familiar .app-header{justify-content:flex-start;gap:10px}.studio-familiar .module-tabs{width:100%;justify-content:space-between}.studio-familiar .summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.studio-familiar .metric-tile{padding:12px 14px}.studio-familiar .panel-toolbar{align-items:flex-start}.studio-familiar .panel-toolbar .toolbar-meta{max-width:450px}}@media (max-width:720px){.studio-familiar .workspace-shell{width:calc(100vw - 28px);padding-top:20px}.studio-familiar .app-title h1{font-size:30px}.studio-familiar .top-nav-bar{padding-bottom:8px}.studio-familiar .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-familiar .metric-tile{padding:12px}.studio-familiar .metric-tile strong{font-size:26px;margin-top:0}.studio-familiar .panel-toolbar{padding:19px 17px;gap:15px}.studio-familiar .panel-toolbar h2{font-size:20px}.studio-familiar .toolbar-actions{justify-content:flex-end}.studio-familiar .tower-table{padding-left:10px;padding-right:10px}.studio-familiar .module-tabs{justify-content:flex-start;gap:5px}.studio-familiar .module-tabs button{padding:10px 12px}.studio-familiar .work-panel,.studio-familiar .data-panel{padding:17px}}@media (prefers-reduced-motion:reduce){.studio-familiar *{scroll-behavior:auto!important;transition:none!important}}.jobs-table{table-layout:auto!important}.jobs-table td{white-space:normal!important;vertical-align:top}.jobs-table td small{display:block;margin-top:5px;color:var(--muted,#64748b);font-weight:400}.jobs-table .job-identity{min-width:200px;max-width:280px}.jobs-table .job-identity>span{font-weight:550}.jobs-table .job-phase{min-width:170px;max-width:280px}.jobs-table .time-cell{min-width:164px}.jobs-table .job-actions{flex-wrap:wrap;gap:6px;max-width:180px}.job-chart-link{border:0;background:transparent;color:#167a83;font:inherit;cursor:pointer;text-decoration:underline}.jobs-table tr:target{background:#fff4ce}.chart-source-controls{margin-top:12px}.chart-source-controls select{max-width:100%;min-width:0}.chart-source-controls>label{min-width:0}.chart-source-controls .field{min-width:0}.jobs-table .job-phase-heading{display:flex;align-items:center;gap:6px;font-weight:550}.jobs-table .job-progress-message{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;line-height:1.45;max-width:240px}.studio-familiar .jobs-table th{font-size:13px;color:#4b4e63}.studio-familiar .jobs-table td{font-size:14px;color:#51445c;line-height:1.45}.studio-familiar .jobs-table td small{font-size:13px;color:#4b4e63}.studio-familiar .jobs-table .job-identity>span{font-size:15px;color:#30253d;font-weight:600}.studio-familiar .jobs-table .btn{font-size:13px}.studio-familiar .jobs-table .job-phase{max-width:340px}.studio-familiar .jobs-table .job-progress-message{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;max-width:none}.studio-familiar .jobs-table th{font-size:14px}.studio-familiar .jobs-table td{font-size:15px;line-height:1.5}.studio-familiar .jobs-table td small{font-size:14px;line-height:1.5}.studio-familiar .jobs-table .btn{font-size:14px}.job-credit-summary{color:#746b82;font-size:13px;margin:-8px 0 -5px}.job-credit-summary summary{cursor:pointer;width:max-content}.job-credit-summary p{margin:7px 0 0;line-height:1.5}.batch-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}.batch-result-stats>div{display:flex;align-items:baseline;gap:8px;padding:11px 13px;border:1px solid #e9e3ee;border-radius:10px;background:#faf8fc}.batch-result-stats strong{font-size:24px;line-height:1;color:#372a46}.batch-result-stats span{font-size:14px;color:#766c80}.batch-error-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;padding:10px 12px;margin:0 0 12px;border-radius:9px;background:#fbdccc;color:#5c2a1c;font-size:14px}.batch-error-summary strong{font-weight:650}.batch-error-summary small{color:#8a6b61}.studio-familiar .batch-result-stats+details{margin-top:8px}@media (max-width:720px){.batch-result-stats{gap:5px}.batch-result-stats>div{padding:9px;flex-direction:column;gap:4px}}.strategy-config-check{display:grid;justify-items:start;gap:.55rem;margin:1rem 0}.strategy-config-check>small,.configuration-check-result>small{color:var(--text-muted, #667085);line-height:1.4}.configuration-check-result{width:100%;display:grid;gap:.5rem;padding:.8rem;border:1px solid #dbe2ea;border-radius:.7rem;background:#f8fafc}.configuration-difference{display:grid;gap:.2rem;padding:.5rem 0;border-top:1px solid #e4e9f0;overflow-wrap:anywhere}.autopilot-panel{display:grid;gap:10px}.autopilot-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.autopilot-heading h3{margin:0}.autopilot-heading small{flex-basis:100%;line-height:1.45}.autopilot-slots{padding:2px 9px;border-radius:999px;background:#eef4f6;color:#1d5c63;font-size:14px;font-weight:600}.autopilot-table td{vertical-align:top}.autopilot-table td small{display:block;margin-top:3px;color:var(--muted,#4b4e63);font-size:13px}.autopilot-table td small.autopilot-check-error{color:#9a4a2f}.autopilot-attention{padding:10px 12px;border-radius:9px;background:#fbdccc;color:#5c2a1c;font-size:14px}.autopilot-attention p{margin:4px 0 0;line-height:1.45}.autopilot-waiting{padding:10px 12px;border-radius:9px;background:#dcd8f5;color:#2a2170;font-size:14px;margin-bottom:10px}.autopilot-waiting p{margin:4px 0 0;line-height:1.45}.autopilot-events summary{cursor:pointer;font-size:14px;color:#4b4e63;width:max-content}.autopilot-events p{margin:4px 0;font-size:14px;line-height:1.45}.autopilot-events small{color:#4b4e63;margin-right:6px}.studio-familiar .strategy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.studio-familiar .strategy-main{min-width:0;display:grid;gap:14px}.studio-familiar .strategy-sidebar{position:sticky;top:12px;display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;max-height:calc(100vh - 110px);overflow:auto}.studio-familiar .strategy-sidebar-caption{margin:8px 8px 2px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}.studio-familiar .strategy-sidebar-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "verdict value";column-gap:8px;row-gap:3px;align-items:center;min-height:44px;padding:7px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.studio-familiar .strategy-sidebar-item:hover{background:var(--panel-soft)}.studio-familiar .strategy-sidebar-item.active{background:#dcd8f3}.studio-familiar .strategy-sidebar-item.overview{grid-template-areas:"name value";font-weight:600}.studio-familiar .strategy-sidebar-item.overview small{grid-area:value;color:var(--muted)}.studio-familiar .strategy-sidebar-name{grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.studio-familiar .strategy-sidebar-value{grid-area:value;font-variant-numeric:tabular-nums}.studio-familiar .strategy-verdict{grid-area:verdict;justify-self:start;font-size:13px;padding:1px 8px;border-radius:999px;background:#f3e2bd;color:#6b4300}.studio-familiar .strategy-verdict.good{background:#cfe9dc;color:#0f5a3d}.studio-familiar .strategy-verdict.danger{background:#f5cfda;color:#8b1d3a}.studio-familiar .strategy-verdict.warning{background:#f8dcc0;color:#7a3d00}.studio-familiar .strategy-sidebar-add{margin-top:8px;min-height:44px;border:1px dashed var(--line-strong);border-radius:10px;background:transparent;color:var(--blue);font:inherit;font-weight:600;cursor:pointer}.studio-familiar .strategy-header{display:grid;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.studio-familiar .strategy-header-title{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;justify-content:space-between}.studio-familiar .strategy-header-title h2{margin:2px 0 0;font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:31px}.studio-familiar .strategy-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.studio-familiar .strategy-kpi{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);display:grid;gap:2px}.studio-familiar .strategy-kpi span{color:var(--muted);font-size:14px}.studio-familiar .strategy-kpi strong{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}.studio-familiar .strategy-kpi strong.good{color:#0f5a3d}.studio-familiar .strategy-kpi strong.danger{color:#8b1d3a}.studio-familiar .strategy-kpi strong.warning{color:#7a3d00}.studio-familiar .strategy-pages{display:flex;gap:4px;border-top:1px solid var(--line);padding-top:10px}.studio-familiar .strategy-pages button{min-height:36px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.studio-familiar .strategy-pages button.active{background:#dcd8f3;color:var(--ink);font-weight:600}.studio-familiar .section-badge{margin-left:6px;padding:0 7px;border-radius:999px;background:var(--red);color:#fff;font-size:13px}.studio-familiar .autopilot-pill{margin-left:auto;min-height:32px;padding:0 12px;border:1px solid var(--live-line);border-radius:999px;background:var(--live-bg);color:#0f5a3d;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.studio-familiar .autopilot-pill.busy:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green)}@media (max-width: 900px){.studio-familiar .strategy-layout{grid-template-columns:1fr}.studio-familiar .strategy-sidebar{position:static;max-height:none}.studio-familiar .strategy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-familiar .module-tabs{flex-wrap:wrap}.studio-familiar .autopilot-pill{margin-left:0}}.studio-familiar .strategy-main .simulations-layout.research{grid-template-columns:minmax(0,1fr)}.studio-familiar .strategy-main .simulations-layout.research .simulation-workspace{grid-column:1;grid-row:1;position:static}.studio-familiar .strategy-main .simulations-layout.research .simulation-picker{grid-column:1;grid-row:2}.studio-familiar .strategy-main .live-layout{grid-template-columns:minmax(0,1fr)!important}.studio-familiar .strategy-main .live-layout>.live-sidebar{display:none}.studio-familiar .strategy-main .live-layout>.live-detail{grid-column:1}.studio-familiar .autopilot-hours{font-size:14px;color:var(--muted)}.studio-familiar .autopilot-hours input{width:52px;margin:0 4px;padding:2px 4px;border:1px solid var(--line-strong);border-radius:6px;font:inherit}.studio-familiar .status-pill,.studio-familiar .research-health,.studio-familiar .strategy-verdict{border:1px solid transparent;font-weight:600}.studio-familiar .status-pill.good,.studio-familiar .research-health.pass,.studio-familiar .research-health.good,.studio-familiar .strategy-verdict.good{background:#bfe6cf;color:#0a4730;border-color:#7cc49d}.studio-familiar .status-pill.watch,.studio-familiar .status-pill.warning,.studio-familiar .research-health.attention,.studio-familiar .strategy-verdict.watch,.studio-familiar .strategy-verdict.warning{background:#f8d98f;color:#553500;border-color:#e0b04a}.studio-familiar .status-pill.danger,.studio-familiar .research-health.danger,.studio-familiar .strategy-verdict.danger{background:#f6bfca;color:#6b0d24;border-color:#e0899b}.studio-familiar .status-pill.neutral,.studio-familiar .research-health.unknown{background:#d8dce6;color:#262a3b;border-color:#b3b9c8}.studio-familiar .research-health{background:#bfe6cf;color:#0a4730}
