:root{color-scheme:dark;--color-header-bg: #111318;--color-header-text: #eef0f3;--color-header-border: #2a2f36;--color-header-link: #aab2bd;--color-header-link-hover: #ffffff;--color-page-bg: #101214;--color-surface: #181b1f;--color-surface-raised: #181b1f;--color-surface-muted: #20242a;--color-surface-subtle: #242a31;--color-surface-overlay: rgba(32, 36, 42, .95);--color-border: #343a43;--color-border-strong: #4a525e;--color-border-soft: #3b4350;--color-text: #e7e9ed;--color-heading: #f4f6f8;--color-muted: #a7afb9;--color-muted-strong: #c4cad2;--color-field-bg: #20242a;--color-field-border: #4a525e;--color-field-border-hover: #69a7ff;--color-accent: #69a7ff;--color-accent-hover: #8bbdff;--color-accent-soft: #17324d;--color-accent-soft-text: #dbeafe;--color-button-primary-text: #101214;--color-button-secondary-bg: #20242a;--color-button-secondary-border: #4a525e;--color-button-secondary-text: #e7e9ed;--color-info: #8cc4ff;--color-info-soft: #142f4a;--color-info-border: #2f5f8a;--color-success: #7dd17d;--color-success-soft: #16351f;--color-success-border: #2d6a3c;--color-danger: #ff8f8f;--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: #20242a;--color-code-border: #3b4350;--color-code-text: #e7e9ed;--color-grid: #39424c;--color-grid-faint: #2b323b;--color-axis: #677382;--color-chart-text: #c9d1dc;--color-chart-series-1: #69a7ff;--color-chart-series-2: #7dd17d;--color-chart-series-3: #f1c864;--color-chart-positive: #7dd17d;--color-chart-negative: #ff8f8f;--color-chart-accent: #7ce0d5;--color-chart-warning: #f7b267;--shadow-panel: 0 16px 40px rgba(0, 0, 0, .32);--shadow-panel-strong: 0 24px 48px rgba(0, 0, 0, .4)}body{margin:0;background:var(--color-page-bg);color:var(--color-text)}.app-shell.svelte-12qhfyh{min-height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text)}.app-header.svelte-12qhfyh{background:var(--color-header-bg);color:var(--color-header-text);border-bottom:1px solid var(--color-header-border);display:flex;align-items:center;flex-wrap:wrap;gap:2rem;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(2rem + env(safe-area-inset-right,0px)) 1rem calc(2rem + env(safe-area-inset-left,0px));position:sticky;top:0;z-index:50}.app-header-leading.svelte-12qhfyh{align-items:center;display:flex;flex:0 0 auto;gap:.85rem;min-width:0}.app-title-link.svelte-12qhfyh{align-items:center;display:inline-flex;flex:0 0 auto;flex-direction:column;gap:.18rem;line-height:1;min-width:3.4rem;text-decoration:none;color:inherit}.app-brand-logo.svelte-12qhfyh{border-radius:9px;display:block;height:2.65rem;width:2.65rem}.app-title.svelte-12qhfyh{margin:0;color:var(--color-header-link-hover);font-size:.72rem;font-weight:700;line-height:1}.app-back-button.svelte-12qhfyh{align-items:center;background:color-mix(in srgb,var(--color-header-text) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-header-link) 40%,transparent);border-radius:999px;color:var(--color-header-link-hover);cursor:pointer;display:inline-flex;flex:0 1 auto;font:inherit;font-size:.82rem;font-weight:700;gap:.45rem;min-height:2rem;min-width:0;padding:.3rem .8rem .3rem .65rem}.app-back-button.svelte-12qhfyh:hover,.app-back-button.svelte-12qhfyh:focus-visible{background:color-mix(in srgb,var(--color-header-text) 14%,transparent);border-color:var(--color-header-link-hover);outline:none}.app-back-button.svelte-12qhfyh:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 45%,transparent)}.app-back-button-arrow.svelte-12qhfyh{font-size:.95rem;line-height:1}.app-back-button-label.svelte-12qhfyh{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-chrome-toggle.svelte-12qhfyh{align-items:center;background:transparent;border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-header-link-hover);cursor:pointer;display:none;font:inherit;font-size:.85rem;font-weight:700;gap:.45rem;min-height:2.25rem;padding:.45rem .65rem}.mobile-chrome-toggle.svelte-12qhfyh:hover,.mobile-chrome-toggle.svelte-12qhfyh:focus-visible{background:color-mix(in srgb,var(--color-header-text) 9%,transparent);border-color:var(--color-header-link-hover);outline:none}.mobile-chrome-toggle.svelte-12qhfyh:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 45%,transparent)}.mobile-chrome-icon.svelte-12qhfyh{display:inline-flex;flex-direction:column;gap:3px;width:1rem}.mobile-chrome-icon.svelte-12qhfyh span:where(.svelte-12qhfyh){background:currentColor;border-radius:999px;display:block;height:2px;width:100%}.app-nav.svelte-12qhfyh{display:flex;flex-wrap:wrap;gap:1.5rem}.app-actions.svelte-12qhfyh{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.auth-user-menu.svelte-12qhfyh{display:flex;align-items:center;gap:.75rem}.auth-user-meta.svelte-12qhfyh{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.auth-user-name.svelte-12qhfyh{color:var(--color-header-link-hover);font-size:.9rem;font-weight:600}.auth-utility-links.svelte-12qhfyh{display:flex;align-items:center;gap:.65rem}.utility-link.svelte-12qhfyh{color:var(--color-header-link);font-size:.78rem;font-weight:600;text-decoration:none}.utility-link.svelte-12qhfyh:hover{color:var(--color-header-link-hover)}.logout-button.svelte-12qhfyh{border:1px solid var(--color-border-strong);border-radius:6px;background:transparent;color:var(--color-header-link-hover);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .7rem}.logout-button.svelte-12qhfyh:hover:not(:disabled){border-color:var(--color-header-link-hover);background:color-mix(in srgb,var(--color-header-text) 9%,transparent)}.logout-button.svelte-12qhfyh:disabled{cursor:wait;opacity:.65}.logout-confirmation-layer.svelte-12qhfyh{display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:1000}.logout-confirmation-backdrop.svelte-12qhfyh{background:#0f172a8a;border:0;cursor:pointer;inset:0;padding:0;position:absolute}.logout-confirmation-backdrop.svelte-12qhfyh:disabled{cursor:wait}.logout-confirmation-dialog.svelte-12qhfyh{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-panel);color:var(--color-text);display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1.2rem;position:relative;width:min(100%,25rem);z-index:1}.logout-confirmation-copy.svelte-12qhfyh{display:flex;flex-direction:column;gap:.5rem}.logout-confirmation-eyebrow.svelte-12qhfyh{color:var(--color-muted-strong);font-size:.78rem;font-weight:700;letter-spacing:0;margin:0;text-transform:uppercase}.logout-confirmation-dialog.svelte-12qhfyh h2:where(.svelte-12qhfyh){color:var(--color-heading);font-size:1.25rem;line-height:1.2;margin:0}.logout-confirmation-dialog.svelte-12qhfyh p:where(.svelte-12qhfyh){margin:0}#logout-confirmation-description.svelte-12qhfyh{color:var(--color-muted-strong);font-size:.92rem;line-height:1.45}.logout-confirmation-actions.svelte-12qhfyh{display:flex;gap:.75rem;justify-content:flex-end}.dialog-button.svelte-12qhfyh{border:1px solid var(--color-border-strong);border-radius:6px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;min-height:2.35rem;padding:.55rem .9rem}.dialog-button.secondary.svelte-12qhfyh{background:var(--color-surface-muted);color:var(--color-text)}.dialog-button.secondary.svelte-12qhfyh:hover:not(:disabled){background:var(--color-surface-subtle)}.dialog-button.danger.svelte-12qhfyh{background:#b71c1c;border-color:#b71c1c;color:#fff}.dialog-button.danger.svelte-12qhfyh:hover:not(:disabled){background:#8f1515;border-color:#8f1515}.dialog-button.svelte-12qhfyh:disabled{cursor:wait;opacity:.65}.dialog-button.svelte-12qhfyh:focus-visible,.logout-confirmation-backdrop.svelte-12qhfyh:focus-visible{box-shadow:0 0 0 3px #1565c033;outline:2px solid var(--color-accent);outline-offset:2px}.nav-link.svelte-12qhfyh{color:var(--color-header-link);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .15s}.nav-link.svelte-12qhfyh:hover{color:var(--color-header-link-hover)}.app-main.svelte-12qhfyh{flex:1;padding: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}.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-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 .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)}@media(max-width:900px){.app-header.svelte-12qhfyh{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;max-height:calc(100dvh - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:calc(.85rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) .85rem calc(1rem + env(safe-area-inset-left,0px))}.app-title-link.svelte-12qhfyh{justify-self:start;width:max-content}.app-header-leading.svelte-12qhfyh{gap:.65rem;min-width:0}.app-back-button.svelte-12qhfyh{max-width:min(9rem,100%);padding-inline:.65rem}.mobile-chrome-toggle.svelte-12qhfyh{display:inline-flex;justify-self:end}.app-nav.svelte-12qhfyh{display:none;flex-direction:column;flex-wrap:nowrap;gap:.4rem;grid-column:1 / -1;padding-top:.15rem;width:100%}.app-nav.mobile-chrome-open.svelte-12qhfyh{display:flex}.nav-link.svelte-12qhfyh{align-items:center;border:1px solid color-mix(in srgb,var(--color-header-link) 35%,transparent);border-radius:6px;display:flex;min-height:2.35rem;padding:0 .7rem}.app-actions.svelte-12qhfyh{grid-column:1 / -1;margin-left:0;width:100%;justify-content:space-between}.app-actions.app-actions-authenticated.svelte-12qhfyh{align-items:stretch;display:none;flex-direction:column;flex-wrap:nowrap;gap:.75rem}.app-actions.app-actions-authenticated.mobile-chrome-open.svelte-12qhfyh{display:flex}.auth-user-menu.svelte-12qhfyh{border-top:1px solid color-mix(in srgb,var(--color-header-link) 35%,transparent);justify-content:space-between;padding-top:.75rem;width:100%}.auth-user-name.svelte-12qhfyh{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-user-meta.svelte-12qhfyh{align-items:flex-start}.auth-utility-links.svelte-12qhfyh{flex-wrap:wrap}.logout-button.svelte-12qhfyh{min-height:2.35rem;white-space:nowrap}}@media(max-width:640px){.app-main.svelte-12qhfyh{padding:1rem}.login-form.svelte-12qhfyh{padding:1.2rem}.logout-confirmation-dialog.svelte-12qhfyh{padding:1rem}.logout-confirmation-actions.svelte-12qhfyh{flex-direction:column}.dialog-button.svelte-12qhfyh{width:100%}}
