:root{color-scheme:dark;--font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--nav-rail-width: 4rem;--radius: 6px;--color-header-bg: #0d1013;--color-header-text: #eef0f3;--color-header-border: #22272e;--color-header-link: #aab2bd;--color-header-link-hover: #ffffff;--color-page-bg: #101316;--color-surface: #181b1f;--color-surface-raised: #181b1f;--color-surface-muted: #1e2227;--color-surface-subtle: #242a31;--color-surface-overlay: rgba(24, 27, 31, .97);--color-hairline: #262b32;--color-border: #30363e;--color-border-strong: #4a525e;--color-border-soft: #3b4350;--color-text: #e7e9ed;--color-heading: #f4f6f8;--color-muted: #a3abb5;--color-muted-strong: #c4cad2;--color-field-bg: #15181c;--color-field-border: #3d444e;--color-field-border-hover: #69a7ff;--color-accent: #69a7ff;--color-accent-hover: #8bbdff;--color-accent-soft: #172a40;--color-accent-soft-text: #dbeafe;--color-link: #69a7ff;--color-button-primary-text: #101316;--color-button-secondary-bg: transparent;--color-button-secondary-border: #3d444e;--color-button-secondary-text: #e7e9ed;--color-info: #8cc4ff;--color-info-soft: #142f4a;--color-info-border: #2f5f8a;--color-success: #6fd08c;--color-success-soft: #16351f;--color-success-border: #2d6a3c;--color-danger: #ff8f84;--color-danger-soft: #3a1c1e;--color-danger-border: #8b3d42;--color-warning: #f1c864;--color-warning-soft: #342b16;--color-warning-border: #7e6827;--color-neutral: #c4cad2;--color-neutral-soft: #242a31;--color-neutral-border: #4a525e;--color-code-bg: #1e2227;--color-code-border: #3b4350;--color-code-text: #e7e9ed;--color-grid: #2c333c;--color-grid-faint: #232930;--color-axis: #677382;--color-chart-text: #a9b2bd;--color-chart-series-1: #69a7ff;--color-chart-series-2: #6fd08c;--color-chart-series-3: #f1c864;--color-chart-positive: #6fd08c;--color-chart-negative: #ff8f84;--color-chart-accent: #8cc4ff;--color-chart-warning: #f7b267;--color-chart-replay: #c39bff;--shadow-panel: 0 12px 32px rgba(0, 0, 0, .32);--shadow-panel-strong: 0 20px 44px rgba(0, 0, 0, .42)}.sk-sr{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sk{animation:sk-pulse 1.4s ease-in-out infinite;background:var(--sk-fill, var(--color-surface-muted));border-radius:4px;display:block}.sk-line{height:.9rem;margin:.35rem 0;width:60%}.sk-line.sk-sub{height:.7rem;opacity:.7}.sk-line.sk-title{height:1.6rem;width:45%}.sk-line.sk-value{flex:0 0 4.5rem;height:1.1rem;width:4.5rem}.sk-block{height:12rem;width:100%}.sk-pill{border-radius:999px;display:inline-block;height:1.6rem;margin-right:.5rem;width:6rem}.sk-metrics{display:flex;flex-wrap:wrap;gap:1.5rem;margin:.75rem 0}.sk-rows{display:grid}.sk-row{align-items:center;border-bottom:1px solid var(--color-hairline, var(--color-border));display:flex;gap:1rem;padding:.55rem 0}.sk-row-text{flex:1;min-width:0}.sk-cards{gap:.75rem}.sk-cards .sk-row{border:1px solid var(--color-border);border-radius:.65rem;padding:.9rem}@keyframes sk-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}body{margin:0;background:var(--color-page-bg);color:var(--color-text)}.app-shell :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.app-shell *{transition:none!important;animation:none!important}}.app-shell.svelte-12qhfyh{min-height:100vh;font-family:var(--font-sans);font-size:.9375rem;color:var(--color-text)}.app-shell.authenticated.svelte-12qhfyh{display:grid;grid-template-columns:var(--nav-rail-width) minmax(0,1fr);background:linear-gradient(90deg,var(--color-header-bg) calc(var(--nav-rail-width) - 1px),var(--color-header-border) calc(var(--nav-rail-width) - 1px) var(--nav-rail-width),var(--color-page-bg) var(--nav-rail-width))}.app-rail.svelte-12qhfyh{align-items:center;background:var(--color-header-bg);border-right:1px solid var(--color-header-border);box-sizing:border-box;color:var(--color-header-text);display:flex;flex-direction:column;gap:1.25rem;height:100vh;height:100dvh;padding:calc(1rem + env(safe-area-inset-top,0px)) 0 calc(1rem + env(safe-area-inset-bottom,0px)) env(safe-area-inset-left,0px);position:sticky;top:0;width:var(--nav-rail-width);z-index:80}body:has(.strategy-detail-page .drawer-backdrop) .app-rail.svelte-12qhfyh{z-index:95;pointer-events:none}.rail-logo.svelte-12qhfyh{align-items:center;border-radius:var(--radius);display:flex;height:2.75rem;justify-content:center;position:relative;width:2.75rem}.rail-logo.svelte-12qhfyh img:where(.svelte-12qhfyh){border-radius:6px;display:block;height:1.8rem;width:1.8rem}.rail-nav.svelte-12qhfyh{display:flex;flex-direction:column;gap:.375rem}.rail-item.svelte-12qhfyh{align-items:center;background:transparent;border:0;border-radius:var(--radius);box-shadow:inset 2px 0 0 transparent;color:var(--color-header-link);cursor:pointer;display:flex;font:inherit;height:2.75rem;justify-content:center;padding:0;position:relative;text-decoration:none;width:2.75rem}.rail-item.svelte-12qhfyh svg:where(.svelte-12qhfyh){fill:none;height:1.5rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:1.5rem}.rail-item.svelte-12qhfyh:hover{background:var(--color-surface-muted);color:var(--color-header-link-hover)}.rail-item[aria-current=page].svelte-12qhfyh{background:var(--color-accent-soft);box-shadow:inset 2px 0 0 var(--color-accent);color:var(--color-accent-soft-text)}.rail-logout.svelte-12qhfyh{margin-top:auto}.rail-back.svelte-12qhfyh:disabled{cursor:default;opacity:.35}.rail-logout.svelte-12qhfyh:disabled{cursor:wait;opacity:.65}.rail-label.svelte-12qhfyh{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-panel);color:var(--color-heading);font-size:.8125rem;font-weight:600;left:calc(100% + .625rem);line-height:1;opacity:0;padding:.4rem .55rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .12s ease;white-space:nowrap;z-index:120}.rail-item.svelte-12qhfyh:hover .rail-label:where(.svelte-12qhfyh),.rail-item.svelte-12qhfyh:focus-visible .rail-label:where(.svelte-12qhfyh),.rail-logo.svelte-12qhfyh:hover .rail-label:where(.svelte-12qhfyh),.rail-logo.svelte-12qhfyh:focus-visible .rail-label:where(.svelte-12qhfyh){opacity:1}.app-main.svelte-12qhfyh{min-width:0;padding:calc(1.25rem + env(safe-area-inset-top,0px)) calc(2rem + env(safe-area-inset-right,0px)) 2rem 2rem;background:var(--color-page-bg)}.auth-main.svelte-12qhfyh{display:grid;place-items:center}.auth-state.svelte-12qhfyh{color:var(--color-muted-strong);font-weight:600}.auth-skeleton.svelte-12qhfyh{align-self:start;width:min(100%,960px)}.login-page.svelte-12qhfyh{width:min(100%,420px)}.login-form.svelte-12qhfyh{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.login-logo.svelte-12qhfyh{border-radius:6px;display:block;height:2rem;margin-bottom:.75rem;width:2rem}.login-eyebrow.svelte-12qhfyh{color:var(--color-muted-strong);font-size:.78rem;font-weight:700;letter-spacing:0;margin:0 0 .35rem;text-transform:uppercase}.login-form.svelte-12qhfyh h2:where(.svelte-12qhfyh){color:var(--color-heading);font-size:1.6rem;line-height:1.2;margin:0}.login-form.svelte-12qhfyh label:where(.svelte-12qhfyh){color:var(--color-text);display:flex;flex-direction:column;font-size:.9rem;font-weight:700;gap:.4rem}.login-form.svelte-12qhfyh input:where(.svelte-12qhfyh){background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text);font:inherit;padding:.75rem .8rem}.login-form.svelte-12qhfyh input:where(.svelte-12qhfyh):focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #1565c024;outline:none}.login-submit.svelte-12qhfyh{background:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:.8rem 1rem}.login-submit.svelte-12qhfyh:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.login-submit.svelte-12qhfyh:disabled{cursor:wait;opacity:.65}.auth-message.svelte-12qhfyh,.auth-error.svelte-12qhfyh{border-radius:6px;font-size:.9rem;margin:0;padding:.7rem .8rem}.auth-message.svelte-12qhfyh{background:var(--color-accent-soft);color:var(--color-accent-soft-text)}.auth-error.svelte-12qhfyh{background:var(--color-danger-soft);color:var(--color-danger)}.app-shell .controls-panel,.app-shell .controls-restore-bar,.app-shell .chart-panel,.app-shell .state-panel,.app-shell .strategy-loading,.app-shell .strategy-error,.app-shell .strategy-empty,.app-shell .strategy-card,.app-shell .detail-loading,.app-shell .detail-error,.app-shell .detail-section,.app-shell .run-form-panel,.app-shell .run-list-panel,.app-shell .detail-panel,.app-shell .metric,.app-shell .settings-section,.app-shell .account-chart-panel,.app-shell .account-balance-panel,.app-shell .filters-panel,.app-shell .trade-section,.app-shell .metric-card,.app-shell .progress-panel,.app-shell .position-risk-card,.app-shell .selection-strip{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.app-shell .chart-readout,.app-shell .measurement-readout,.app-shell .indicator-readout,.app-shell .benchmark-readout,.app-shell .macro-cycle-readout,.app-shell .cycle-context-readout,.app-shell .trade-marker-readout,.app-shell .position-risk-panel,.app-shell .backtest-context-strip,.app-shell .selection-summary-button,.app-shell .carry-forward-note,.app-shell .readout-badge,.app-shell pre{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.app-shell .page-header h2,.app-shell .chart-header h3,.app-shell .section-heading h3,.app-shell .indicator-title h4,.app-shell .detail-header h2,.app-shell .detail-section p,.app-shell .strategy-name,.app-shell .metric strong,.app-shell .metric-card strong,.app-shell .comparison-grid strong,.app-shell .symbol-code,.app-shell .primary-cell,.app-shell .mono-cell,.app-shell .param-name,.app-shell dd,.app-shell .selection-summary-button strong,.app-shell .position-risk-header strong,.app-shell .position-risk-title strong,.app-shell .position-risk-card dd{color:var(--color-heading)}.app-shell .page-header p,.app-shell .chart-header span,.app-shell .section-heading span,.app-shell .indicator-title span,.app-shell .empty-copy,.app-shell .muted,.app-shell .strategy-version,.app-shell .strategy-desc,.app-shell .detail-version,.app-shell .detail-header p,.app-shell .secondary-cell,.app-shell .metric-card small,.app-shell .percent-label,.app-shell .event-phase,.app-shell .position-risk-header,.app-shell .position-risk-title,.app-shell .position-risk-card dt,.app-shell dt,.app-shell th,.app-shell label,.app-shell legend,.app-shell .selection-summary-button span,.app-shell label span{color:var(--color-muted)}.app-shell input,.app-shell select,.app-shell textarea{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text);accent-color:var(--color-accent)}.app-shell .compact-buttons button{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text)}.app-shell .compact-buttons button.active,.app-shell .compact-buttons button[aria-pressed=true],.app-shell .selection-summary-button.active{background:var(--color-accent);border-color:var(--color-accent);color:#101214}.app-shell .selection-summary-button.active strong,.app-shell .selection-summary-button.active span{color:#101214}.app-shell .compact-label{color:var(--color-muted)}.app-shell .compact-badge-count{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-muted)}.app-shell .symbol-grid label,.app-shell .indicator-grid label,.app-shell .indicator-row{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.app-shell .symbol-selected,.app-shell .indicator-selected,.app-shell .selected-symbol,.app-shell .active-range{background:var(--color-accent-soft);border-color:var(--color-accent)!important;color:var(--color-accent-soft-text)}.app-shell .secondary-button,.app-shell .control-icon-button,.app-shell .preset-row button,.app-shell .chart-tools button{background:var(--color-surface-muted);border-color:var(--color-border-strong);color:var(--color-text)}.app-shell .primary-button,.app-shell button[type=submit],.app-shell .preset-row button.active,.app-shell .chart-tools button.active,.app-shell .detail-actions a{background:var(--color-accent);border-color:var(--color-accent);color:#101214}.app-shell .danger-button,.app-shell .error-panel,.app-shell .state-panel.error,.app-shell .submit-result.error,.app-shell .failure-panel,.app-shell .failure-summary,.app-shell .error-message,.app-shell .event-row.error,.app-shell .status-failed,.app-shell .status-bearish{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.app-shell .success-message,.app-shell .status-success,.app-shell .status-bullish{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success)}.app-shell .auth-message,.app-shell .submit-result,.app-shell .status-running,.app-shell .meta-chip,.app-shell .chip{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info)}.app-shell .quality-warning,.app-shell .inline-warning{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.app-shell .error-text,.app-shell .field-error,.app-shell .row-error,.app-shell .negative,.app-shell .status-err{color:var(--color-danger)!important}.app-shell .positive,.app-shell .status-ok{color:var(--color-success)!important}.app-shell .status-connected,.app-shell .submit-result a,.app-shell .run-table a,.app-shell .param-value,.app-shell .panel-heading span{color:var(--color-accent)}.app-shell .summary-list div,.app-shell th,.app-shell td,.app-shell .param-table th,.app-shell .param-table td,.app-shell .run-table th,.app-shell .run-table td,.app-shell .settings-table th,.app-shell .settings-table td,.app-shell .trade-table th,.app-shell .trade-table td,.app-shell .event-row,.app-shell .legend,.app-shell .balance-list div,.app-shell .measurement-summary,.app-shell .indicator-panel,.app-shell .study-stack{border-color:var(--color-border)}.app-shell td,.app-shell th,.app-shell dd{font-variant-numeric:tabular-nums}.app-shell .grid-line{stroke:var(--color-grid)}.app-shell .grid-line.faint{stroke:var(--color-grid-faint)}.app-shell .axis-line,.app-shell .axis-tick-mark,.app-shell .zero-line,.app-shell .study-reference-line{stroke:var(--color-axis)}.app-shell .axis-tick,.app-shell .axis-label,.app-shell .study-reference-label{fill:var(--color-chart-text)}.app-shell .measurement-boundary,.app-shell .trade-marker:hover,.app-shell .trade-marker:focus{stroke:var(--color-heading)}.app-shell .trade-marker{stroke:var(--color-page-bg)}.app-topbar.svelte-12qhfyh,.app-bottombar.svelte-12qhfyh{align-items:center;background:var(--color-header-bg, var(--color-surface));display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;left:0;position:fixed;right:0;z-index:100}.app-topbar.svelte-12qhfyh{border-bottom:1px solid var(--color-header-border);gap:.5rem;height:var(--top-bar-height);padding:env(safe-area-inset-top,0px) calc(.5rem + env(safe-area-inset-right,0px)) 0 calc(.5rem + env(safe-area-inset-left,0px));top:0}.topbar-title.svelte-12qhfyh{color:var(--color-heading);font-size:1.05rem;font-weight:650;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-bottombar.svelte-12qhfyh{border-top:1px solid var(--color-header-border);bottom:0;height:var(--nav-bar-height);padding:0 calc(.5rem + env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) calc(.5rem + env(safe-area-inset-left,0px))}.bottombar-destinations.svelte-12qhfyh{display:flex;gap:1.75rem;grid-column:2;justify-content:center}.app-topbar.svelte-12qhfyh .rail-label:where(.svelte-12qhfyh),.app-bottombar.svelte-12qhfyh .rail-label:where(.svelte-12qhfyh){clip-path:inset(50%);height:1px;opacity:0;overflow:hidden;padding:0;position:absolute;width:1px}.app-topbar.svelte-12qhfyh .rail-logout:where(.svelte-12qhfyh){margin-top:0}.app-topbar.svelte-12qhfyh .rail-logo:where(.svelte-12qhfyh),.app-topbar.svelte-12qhfyh .rail-logout:where(.svelte-12qhfyh){align-self:center}.app-bottombar.svelte-12qhfyh .rail-item[aria-current=page]:where(.svelte-12qhfyh){box-shadow:inset 0 2px 0 var(--color-accent)}@media(max-width:640px),(orientation:portrait)and (max-width:1100px){:root{--nav-bar-height: calc(3.5rem + env(safe-area-inset-bottom, 0px)) ;--top-bar-height: calc(3.25rem + env(safe-area-inset-top, 0px)) }.app-shell.authenticated.svelte-12qhfyh{background:var(--color-page-bg);display:block}.app-main.svelte-12qhfyh{padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) 1rem calc(1rem + env(safe-area-inset-left,0px))}.app-shell.authenticated.svelte-12qhfyh .app-main:where(.svelte-12qhfyh){padding-bottom:calc(var(--nav-bar-height) + 1rem);padding-top:calc(var(--top-bar-height) + 1rem)}.app-shell.authenticated.svelte-12qhfyh .app-main:where(.svelte-12qhfyh) h1{clip-path:inset(50%);height:1px;margin:0;overflow:hidden;position:absolute;white-space:nowrap;width:1px}}@media(max-width:640px){.login-form.svelte-12qhfyh{padding:1.2rem}}
