@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.login-page{display:grid;place-items:center;min-height:100vh;width:100%;padding:20px;background:radial-gradient(circle at top left,rgba(13,148,136,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(234,88,12,.1),transparent 24%),transparent}.login-container{width:min(460px,100%);padding:28px;border-radius:24px;border:1px solid var(--color-surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 96%,white) 0%,var(--color-surface) 100%);color:var(--color-text);box-shadow:0 32px 60px #0f172a29}.login-container__actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.login-theme-toggle{border:1px solid var(--color-button-border);background-color:var(--color-button-bg);color:var(--color-button-text);padding:.5rem .95rem;border-radius:999px;font-weight:700;font-size:.88rem;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .16s ease}.login-theme-toggle:hover,.login-theme-toggle:focus,.login-theme-toggle[aria-pressed=true]{background-color:var(--color-button-hover-bg);color:var(--color-button-hover-text);border-color:var(--color-button-hover-border);transform:translateY(-1px)}.login-container__eyebrow{display:inline-flex;margin-bottom:8px;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.login-container h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.3rem);line-height:1;letter-spacing:-.05em;color:var(--color-text)}.login-container__copy{margin:0 0 1.5rem;color:var(--color-muted);line-height:1.6}.login-form{display:flex;flex-direction:column;gap:14px}.login-form .form-group{margin-bottom:0;text-align:left}.login-form label{display:block;margin-bottom:.45rem;font-weight:700;color:var(--color-text);font-size:.9rem}.login-form input{width:100%;padding:.9rem .95rem;border:1px solid var(--color-input-border);background-color:var(--color-input-bg);color:var(--color-text);border-radius:14px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.login-form input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px var(--color-input-focus)}.login-form input::placeholder{color:color-mix(in srgb,var(--color-muted) 82%,white)}.submit-button{width:100%;padding:.9rem 1rem;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 18px 28px #0f766e33}.submit-button:hover{transform:translateY(-1px);filter:brightness(.98)}.error{margin:.9rem 0 0;color:#991b1b;background:#fee2e2eb;border:1px solid rgba(248,113,113,.32);font-weight:700;border-radius:14px;padding:12px 14px}body.dark-mode .login-container{box-shadow:0 34px 58px #0206178c}@media (max-width: 480px){.login-page{padding:14px}.login-container{padding:20px;border-radius:20px}}.create-strategy-form{background:radial-gradient(circle at top right,rgba(20,184,166,.12),transparent 24%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 96%,transparent),color-mix(in srgb,var(--color-surface) 88%,transparent));border:1px solid color-mix(in srgb,var(--color-accent) 16%,var(--color-surface-border));border-radius:18px;padding:14px;box-shadow:0 16px 28px #0f172a14;display:flex;flex-direction:column;gap:12px}.create-strategy-form h3{font-size:clamp(1.45rem,2vw,1.8rem);font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.04em}.create-strategy-form__body{display:flex;flex-direction:column;gap:10px}.create-strategy-form__section{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--color-surface-border) 88%,transparent);background:color-mix(in srgb,var(--color-button-bg) 56%,white);box-shadow:inset 0 1px #fff9}.create-strategy-form__section--compact{gap:12px}.create-strategy-form__section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px}.create-strategy-form__section-header h4{margin:0;font-size:.94rem;color:var(--color-text);letter-spacing:-.01em}.create-strategy-form__status{margin:0}.create-strategy-form__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding-top:4px}.create-strategy-form__submit-button{min-width:220px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.form-group label{font-size:.9rem;font-weight:600;color:var(--color-text)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select{width:100%;padding:12px 14px;border:1px solid var(--color-input-border);border-radius:12px;box-sizing:border-box;background:var(--color-input-bg);transition:border-color .2s ease,box-shadow .2s ease;outline:none}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=date]:focus,.form-group select:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-input-focus)}.form-group input[type=checkbox]{margin-right:8px;vertical-align:middle}.live-config-card{background:linear-gradient(180deg,#f8fafc,#fff 65%);border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}.live-config-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-inline-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.form-hint{font-size:.75rem;color:#64748b}.form-group.slim{margin-bottom:0}.form-group.slim label{font-size:.85rem;color:#1f2937;margin-bottom:6px}.symbol-filters-panel{border:1px solid #dbeafe;background:#eff6ff;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.symbol-entry-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px}.symbol-entry-header{display:flex;align-items:center;justify-content:space-between}.symbol-entry-provider{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#334155;font-weight:700}.provider-symbol-tools{display:flex;flex-direction:column;gap:8px}.provider-symbol-hint{margin:0;font-size:.78rem;color:#475569}.advanced-tools-panel{border:1px solid #dbeafe;border-radius:10px;padding:0;background:#f8fbff}.advanced-tools-panel summary{cursor:pointer;list-style:none;font-size:.85rem;font-weight:600;color:#1e3a8a;padding:10px 12px;-webkit-user-select:none;user-select:none}.advanced-tools-panel[open] summary{border-bottom:1px solid #dbeafe}.advanced-tools-panel>*:not(summary){margin:12px}.provider-futures-builder{border:1px dashed #93c5fd;border-radius:10px;padding:8px 10px;background:#f0f9ff}.provider-futures-builder summary{cursor:pointer;font-size:.78rem;color:#1e3a8a;font-weight:600}.futures-builder-grid{margin-top:8px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.symbol-filters-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;color:#1d4ed8}.symbol-filters-header p{margin:0;font-size:.9rem}.toggle-checkbox{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:#0f172a}.toggle-checkbox input{width:18px;height:18px;accent-color:#2563eb}.symbol-filters-grid{display:grid;gap:8px 10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-field label{font-size:.8rem;color:#334155;text-transform:uppercase;letter-spacing:.05em}.filter-field input,.filter-field select{background:#fff;border-radius:8px;padding:10px 12px;border:1px solid #cbd5f5;box-shadow:inset 0 1px 2px #94a3b833}.filter-field input:focus,.filter-field select:focus{border-color:#60a5fa}.exchange-chips{grid-column:1 / -1}.exchange-search-meta{margin-top:4px}.exchange-status{display:inline-flex;align-items:center;font-size:.72rem;border-radius:999px;padding:2px 8px;border:1px solid;font-weight:600}.exchange-status--ok{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.exchange-status--custom{color:#92400e;background:#fef3c7;border-color:#fcd34d}.exchange-suggestions-popover{margin-top:8px;border:1px solid #dbeafe;border-radius:10px;background:#fff;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:8px}.exchange-option{text-align:left;border:1px solid #dbeafe;border-radius:8px;background:#f8fafc;color:#1e3a8a;padding:8px 10px;cursor:pointer;font-size:.8rem;font-weight:600}.exchange-option:hover{background:#eff6ff;border-color:#93c5fd}.exchange-option.active{background:#dbeafe;border-color:#60a5fa}.exchange-clear-button{text-align:left;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#be123c;padding:8px 10px;cursor:pointer;font-size:.78rem;font-weight:600}.exchange-clear-button:hover{background:#ffe4e6}.exchange-empty-state{margin:0;color:#64748b;font-size:.76rem}.chips-label{font-size:.75rem;color:#1e3a8a;font-weight:600}.chips-container{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.symbol-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #d0d5ff;border-radius:999px;background:#eef2ff;color:#1d4ed8;cursor:pointer;box-shadow:0 1px 2px #4f46e51f;font-weight:500;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.symbol-chip:hover{transform:translateY(-1px);border-color:#818cf8;background:#e0e7ff}.symbol-chip.active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.symbol-chip.clear-chip{background:#ffe4e6;border-color:#fda4af;color:#be123c}.symbol-chip.clear-chip:hover{background:#fecdd3}.symbol-search-group{position:relative;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:12px;box-shadow:0 6px 20px #0f172a14;margin-bottom:0;transition:box-shadow .2s ease,border-color .2s ease}.symbol-search-group.is-open{border-color:#a5b4fc;box-shadow:0 12px 28px #4f46e526}.symbol-search-group label{font-size:.9rem;font-weight:600;color:#0f172a;margin-bottom:6px}.symbol-input-wrapper{display:flex;align-items:center;gap:12px}.symbol-search-group input{flex:1;border-radius:10px;border:1px solid #cbd5f5;padding:12px 14px;font-size:.95rem;background:#f8fafc}.symbol-search-group input:focus{border-color:#60a5fa}.loading-indicator{font-size:.8rem;color:#64748b}.symbol-suggestions{margin-top:10px;border-radius:12px;border:1px solid #cbd5f5;background:linear-gradient(180deg,#f8fafc,#fff 65%);max-height:180px;overflow-y:auto;display:grid;gap:8px;padding:12px;box-shadow:inset 0 0 0 1px #94a3b81f}.symbol-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:#fff;color:#0f172a;font-weight:500;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.symbol-option:hover{transform:translate(2px);border-color:#818cf8;background:#eef2ff}.symbol-option.active{border-color:#6366f1;background:#e0e7ff}.chip-symbol{font-weight:700;letter-spacing:.01em}.chip-ex{font-size:12px;color:#1e3a8a;background:#eef2ff;border-radius:999px;padding:2px 6px;border:1px solid rgba(79,70,229,.25)}.chip-ex-resolved{background:#dbeafe;border-color:#2563eb40;color:#1d4ed8}.chip-name{font-size:12px;color:#475569}.range-card{border:1px solid rgba(148,163,184,.4);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 12px 32px #0f172a14}.range-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.range-card__header h4{margin:0;font-size:1.1rem;color:#0f172a}.range-card__badge{padding:4px 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.8rem;font-weight:600}.range-basics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.range-field{display:flex;flex-direction:column;gap:6px}.range-field--wide{grid-column:span 2}.range-field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;font-weight:600}.range-field input,.range-field select{border-radius:10px;border:1px solid #cbd5f5;padding:10px 12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.range-field input:focus,.range-field select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.range-hint{font-size:.7rem;color:#6b7280}.range-section{border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#f9fafbe6}.range-section--alt{background:#eef2ffb3}.range-section__title{display:flex;align-items:baseline;gap:12px}.range-section__title h5{margin:0;font-size:1rem;color:#1e3a8a}.range-section__subtitle{font-size:.75rem;color:#64748b;font-weight:500}.range-section__grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.range-panels{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.historical-card{border:1px solid rgba(148,163,184,.35);border-radius:16px;padding:14px;background:linear-gradient(160deg,#f8fafc,#fff 70%);box-shadow:0 8px 24px #0f172a14;display:flex;flex-direction:column;gap:18px;margin-bottom:12px}.historical-card__title{display:flex;flex-direction:column;gap:4px}.historical-card__title h5{margin:0;font-size:1rem;color:#0f172a}.historical-card__title span{font-size:.8rem;color:#64748b}.historical-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.historical-field{display:flex;flex-direction:column;gap:6px}.historical-field label{font-size:.78rem;color:#475569;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.historical-field input,.historical-field select{border-radius:10px;border:1px solid #cbd5f5;padding:10px 12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.historical-field input:focus,.historical-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e}.historical-speed{display:flex;flex-direction:column;gap:8px;border:1px solid rgba(148,163,184,.25);border-radius:12px;padding:12px;background:#f8fafc;margin-bottom:6px}.historical-speed label{font-size:.85rem;font-weight:600;color:#0f172a}.historical-speed input{width:140px;align-self:flex-start;border-radius:8px;border:1px solid #cbd5f5;padding:8px 12px;background:#fff}.historical-speed input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}@media (max-width: 768px){.create-strategy-form{padding:20px;margin:24px auto}.range-card{padding:18px}.range-field--wide{grid-column:span 1}.historical-card{padding:18px}.historical-grid{grid-template-columns:1fr}.historical-speed input{width:100%}}.symbol-search-group mark{background:#fde68a;color:#111827;padding:0 3px;border-radius:3px}.submit-button{box-sizing:border-box;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:#f8fffe;border:1px solid var(--color-accent-strong);border-radius:14px;background-image:none;will-change:background-color;font-weight:800;letter-spacing:.01em;box-shadow:0 16px 28px #0f766e33}.submit-button:hover{background:linear-gradient(135deg,var(--color-accent-strong) 0%,#0f766e 100%)}.error{border-color:#fca5a5;color:#991b1b;background:#fee2e2}.success{border-color:#86efac;color:#064e3b;background:#ecfdf5}.error-message,.success-message{padding:12px 14px;border-radius:14px;font-weight:700}.error-message{color:#991b1b;background:#fee2e2f0;border:1px solid rgba(248,113,113,.32)}.success-message{color:#065f46;background:#dcfce7f0;border:1px solid rgba(74,222,128,.28)}.selected-symbol-display{font-style:italic;color:#2563eb;margin-top:5px}.manual-select-button{margin-top:8px;border:1px solid color-mix(in srgb,var(--color-accent) 22%,var(--color-surface-border));background:color-mix(in srgb,var(--color-accent-soft) 62%,white);color:var(--color-accent-strong);border-radius:10px;padding:9px 11px;font-size:.8rem;text-align:left;cursor:pointer;font-weight:700}.manual-select-button:hover{background:color-mix(in srgb,var(--color-accent-soft) 76%,white)}.submit-button:disabled{background:#94a3b88c;border-color:#94a3b88c;box-shadow:none;cursor:not-allowed}.error{color:#9f1239;background-color:#ffe4e6;border:1px solid #fda4af;padding:12px;border-radius:10px;margin-bottom:15px;text-align:center}.success{color:#047857;background-color:#dcfce7;border:1px solid #4ade80;padding:12px;border-radius:10px;margin-bottom:15px;text-align:center}.mu-container{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.mu-field{flex:1 1 180px;min-width:150px}.mu-field label{font-size:.9em}.advanced-settings{border:1px dashed #ccc;padding:10px;margin-top:10px;border-radius:4px;background-color:#fdfdfd}.advanced-settings div{margin-bottom:8px}.drop-zone{border:1px dashed #cbd5f5;border-radius:16px;padding:22px;text-align:center;cursor:pointer;background:#3b82f60d;color:#1d4ed8;margin-top:12px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease;display:flex;flex-direction:column;align-items:center;gap:6px}.drop-zone:hover{border-color:#818cf8;background:#818cf81f;transform:translateY(-1px)}.drop-zone.dragging{border-color:#6366f1;background:#6366f126}.drop-zone-icon{font-size:1.8rem}.drop-zone p{margin:0;font-weight:600;color:#1e293b}.drop-zone-hint{font-size:.75rem;color:#64748b}.file-input-label{display:inline-block;margin-top:10px;padding:8px 12px;background-color:#007bff;color:#fff;border-radius:4px;cursor:pointer;font-size:.9em}.file-input-label:hover{background-color:#0056b3}.warning-message{margin-top:10px;font-size:.8rem;color:#9a3412;background:#fdba7440;border:1px solid rgba(234,88,12,.35);padding:8px 12px;border-radius:10px}.loading-indicator{font-size:.8em;color:#888;margin-left:10px}.ibkr-hint-panel{border:1px solid #dbeafe;background:#f8fbff;border-radius:10px;padding:10px 12px;color:#0f172a;font-size:.82rem}.ibkr-hint-panel p{margin:0}.ibkr-preset-chips{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.ibkr-hint-panel code{font-size:.78rem;background:#e2e8f0;border-radius:5px;padding:1px 5px}.ibkr-futures-builder{border:1px dashed #93c5fd;border-radius:10px;padding:10px 12px;background:#f0f9ff}.ibkr-futures-builder__header{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.ibkr-futures-builder__header h6{margin:0;font-size:.9rem;color:#0f172a}.ibkr-futures-builder__header span{font-size:.76rem;color:#475569}.ibkr-futures-builder__grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ibkr-future-preview{border:1px solid #cbd5f5;border-radius:8px;min-height:40px;display:flex;align-items:center;padding:0 10px;background:#fff;font-weight:700;color:#1e3a8a}.ibkr-futures-builder__actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.ibkr-futures-mode-switch{display:inline-flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.ibkr-futures-runtime-card{margin-top:10px;padding:10px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#fff;display:grid;gap:6px;font-size:.8rem;color:#1e3a8a}.compact-chips{display:flex;flex-wrap:wrap;gap:6px}.ibkr-manual-symbol-panel{margin-top:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-card{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 10px 24px #00000026;width:min(520px,92vw);padding:20px 24px;text-align:center}.modal-title{font-size:18px;font-weight:700;color:#111827;margin:6px 0 10px}.modal-sub{font-size:14px;color:#6b7280;margin:0 0 8px}.modal-details{font-size:12px;color:#4b5563;margin:4px 0 0}.spinner{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#3b82f6;border-radius:50%;margin:0 auto 8px;animation:spin .9s linear infinite}body.dark-mode .create-strategy-form{background:linear-gradient(180deg,#111827f2,#111827e0 45%);border-color:#1f2937;box-shadow:0 24px 48px #020617a6}body.dark-mode .create-strategy-form h3,body.dark-mode .form-group label,body.dark-mode .filter-field label,body.dark-mode .symbol-filters-header,body.dark-mode .symbol-filters-header p,body.dark-mode .toggle-checkbox,body.dark-mode .chips-label,body.dark-mode .symbol-search-group label,body.dark-mode .range-card__header h4,body.dark-mode .range-field label,body.dark-mode .range-hint,body.dark-mode .loading-indicator,body.dark-mode .modal-title,body.dark-mode .modal-sub,body.dark-mode .modal-details,body.dark-mode .form-hint,body.dark-mode .ibkr-futures-builder__header span{color:#e2e8f0}body.dark-mode .form-group input[type=text],body.dark-mode .form-group input[type=number],body.dark-mode .form-group input[type=date],body.dark-mode .form-group select,body.dark-mode .filter-field input,body.dark-mode .filter-field select,body.dark-mode .range-field input,body.dark-mode .range-field select,body.dark-mode .symbol-search-group input{background:#111827e6;color:#e5e7eb;border-color:#374151;box-shadow:none}body.dark-mode .form-group input[type=text]:focus,body.dark-mode .form-group input[type=number]:focus,body.dark-mode .form-group input[type=date]:focus,body.dark-mode .form-group select:focus,body.dark-mode .filter-field input:focus,body.dark-mode .filter-field select:focus,body.dark-mode .range-field input:focus,body.dark-mode .range-field select:focus,body.dark-mode .symbol-search-group input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}body.dark-mode .live-config-card,body.dark-mode .symbol-filters-panel,body.dark-mode .symbol-search-group,body.dark-mode .symbol-suggestions,body.dark-mode .range-card,body.dark-mode .range-section,body.dark-mode .modal-card,body.dark-mode .ibkr-hint-panel,body.dark-mode .ibkr-futures-builder,body.dark-mode .ibkr-futures-runtime-card,body.dark-mode .advanced-tools-panel,body.dark-mode .symbol-entry-card,body.dark-mode .provider-futures-builder{background:#111827e6;border-color:#374151;box-shadow:0 12px 32px #020617a6}body.dark-mode .symbol-filters-panel{background:#1e40af2e;border-color:#60a5fa73}body.dark-mode .advanced-tools-panel summary{color:#93c5fd;border-color:#374151}body.dark-mode .provider-symbol-hint,body.dark-mode .symbol-entry-provider,body.dark-mode .provider-futures-builder summary{color:#cbd5e1}body.dark-mode .exchange-suggestions-popover{background:#0f172af0;border-color:#334155}body.dark-mode .exchange-option{background:#1e293beb;border-color:#334155;color:#bfdbfe}body.dark-mode .exchange-option:hover{background:#1e40af52;border-color:#60a5fa}body.dark-mode .exchange-option.active{background:#1e40af73}body.dark-mode .exchange-clear-button{background:#7f1d1d61;border-color:#f8717180;color:#fecaca}body.dark-mode .exchange-empty-state{color:#94a3b8}body.dark-mode .exchange-status--ok{color:#6ee7b7;background:#065f4640;border-color:#34d39980}body.dark-mode .exchange-status--custom{color:#fcd34d;background:#92400e47;border-color:#fbbf2480}body.dark-mode .symbol-chip{background:#3b82f626;border-color:#3b82f680;color:#e2e8f0;box-shadow:0 1px 2px #0f172a73}body.dark-mode .symbol-chip:hover{background:#3b82f63d}body.dark-mode .symbol-chip.active{background:#2563eb4d;border-color:#60a5fa8c;color:#bfdbfe}body.dark-mode .symbol-chip.clear-chip{background:#ef44442e;border-color:#ef444480;color:#fca5a5}body.dark-mode .symbol-search-group input{background:#111827eb}body.dark-mode .chip-ex{color:#bae6fd;background:#3b82f62e;border-color:#3b82f673}body.dark-mode .chip-ex-resolved{background:#2563eb47;color:#bfdbfe;border-color:#60a5fa73}body.dark-mode .chip-name{color:#e2e8f0bf}body.dark-mode .symbol-option{background:#111827eb;color:#e2e8f0}body.dark-mode .symbol-option:hover{border-color:#60a5fa;background:#3b82f624}body.dark-mode .symbol-option.active{border-color:#38bdf8;background:#38bdf82e}body.dark-mode .historical-card{background:#111827eb;border-color:#1f2937;box-shadow:0 10px 30px #02061799;color:#e2e8f0}body.dark-mode .historical-card__title h5{color:#f8fafc}body.dark-mode .historical-card__title span{color:#e2e8f0b3}body.dark-mode .historical-field label{color:#e2e8f0bf}body.dark-mode .historical-field input,body.dark-mode .historical-field select{background:#111827eb;border-color:#374151;color:#e2e8f0}body.dark-mode .historical-field input:focus,body.dark-mode .historical-field select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf838}body.dark-mode .historical-speed{background:#111827e6;border-color:#1f2937;color:#e2e8f0}body.dark-mode .historical-speed label{color:#f1f5f9}body.dark-mode .historical-speed input{background:#111827eb;border-color:#374151;color:#e2e8f0}body.dark-mode .historical-speed input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf838}body.dark-mode .drop-zone{border-color:#38bdf880;background:#2563eb29;color:#e0f2fe}body.dark-mode .drop-zone:hover{border-color:#38bdf8;background:#0ea5e938}body.dark-mode .drop-zone.dragging{border-color:#0ea5e9;background:#0ea5e947}body.dark-mode .drop-zone p{color:#f8fafc}body.dark-mode .drop-zone-hint{color:#e2e8f0bf}body.dark-mode .warning-message{background:#ea580c2e;border-color:#f9731673;color:#fdba74}body.dark-mode .range-card__badge{background:#38bdf833;color:#38bdf8}body.dark-mode .range-section{background:#111827db}body.dark-mode .manual-select-button{background:#1e40af4d;border-color:#60a5fa73;color:#dbeafe}body.dark-mode .manual-select-button:hover{background:#1e40af73}body.dark-mode .ibkr-hint-panel p{color:#e2e8f0}body.dark-mode .ibkr-preset-chips .symbol-chip{background:#1e40af47;border-color:#60a5fa73;color:#dbeafe}body.dark-mode .ibkr-hint-panel code{background:#475569bf;color:#f8fafc}body.dark-mode .ibkr-futures-builder__header h6{color:#f1f5f9}body.dark-mode .ibkr-future-preview{background:#0f172aeb;border-color:#374151;color:#bae6fd}body.dark-mode .ibkr-futures-runtime-card{color:#bfdbfe}body.dark-mode .range-hint{color:#e2e8f0b3}body.dark-mode .modal-card{background:#111827f0}body.dark-mode .spinner{border-color:#3b82f640;border-top-color:#38bdf8}.range-risk{margin-top:12px}.sizing-preview-panel{margin-top:22px;padding:18px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:linear-gradient(180deg,#fffffff5,#f8fafcf5)}.sizing-preview-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sizing-preview-panel__header h3{margin:0 0 4px;font-size:1rem}.sizing-preview-panel__header p{margin:0;color:#475569;font-size:.92rem}.sizing-preview-panel__loading{white-space:nowrap;color:#0369a1;font-size:.9rem;font-weight:600}.sizing-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.sizing-preview-card{padding:14px;border-radius:16px;border:1px solid rgba(15,23,42,.1);background:#ffffffe6}.sizing-preview-card__top{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.sizing-preview-card__top span{color:#475569;font-size:.88rem}.sizing-preview-card__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0}.sizing-preview-card__metrics div{min-width:0}.sizing-preview-card__metrics dt{font-size:.78rem;color:#64748b;margin-bottom:3px}.sizing-preview-card__metrics dd{margin:0;font-weight:600;color:#0f172a;word-break:break-word}.sizing-preview-card__formula{margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,23,42,.08)}.sizing-preview-card__label{font-size:.78rem;color:#64748b;margin-bottom:6px}.sizing-preview-card__formula code{display:block;white-space:normal;word-break:break-word;font-size:.8rem;background:#0f172a0d;padding:8px 10px;border-radius:10px}.sizing-preview-card__error{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#f871711f;color:#991b1b;border:1px solid rgba(239,68,68,.2)}.sizing-preview-card__summary{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#0e749014;border:1px solid rgba(14,116,144,.16);color:#0f172a;font-weight:600}.sizing-preview-card__warning{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#f59e0b1f;border:1px solid rgba(217,119,6,.24);color:#78350f;font-weight:600}body.dark-mode .sizing-preview-panel{background:#0f172adb;border-color:#94a3b82e}body.dark-mode .sizing-preview-panel__header p,body.dark-mode .sizing-preview-card__top span,body.dark-mode .sizing-preview-card__label,body.dark-mode .sizing-preview-card__metrics dt{color:#94a3b8}body.dark-mode .sizing-preview-panel__header h3,body.dark-mode .sizing-preview-card__metrics dd{color:#f8fafc}body.dark-mode .sizing-preview-card{background:#0f172ae6;border-color:#94a3b82e}body.dark-mode .sizing-preview-card__formula{border-top-color:#94a3b81f}body.dark-mode .sizing-preview-card__formula code{background:#1e293beb;color:#e2e8f0}body.dark-mode .sizing-preview-card__error{background:#7f1d1d3d;border-color:#f871713d;color:#fecaca}body.dark-mode .sizing-preview-card__summary{background:#082f4973;border-color:#38bdf838;color:#e0f2fe}body.dark-mode .sizing-preview-card__warning{background:#78350f57;border-color:#fbbf243d;color:#fde68a}.strategy-list-container{display:flex;flex-direction:column;gap:14px}.error-message{margin:0;padding:12px 14px;border-radius:14px;border:1px solid rgba(239,68,68,.24);background:#fee2e2d1;color:#991b1b;font-weight:700}.strategy-list-toolbar{display:flex;align-items:center;justify-content:flex-end}.strategy-list-count{display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 20%,var(--color-surface-border));background:color-mix(in srgb,var(--color-surface) 74%,transparent);color:var(--color-text);font-size:.74rem;font-weight:800}.strategy-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.strategy-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid color-mix(in srgb,var(--color-surface-border) 92%,transparent);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,white) 0%,var(--color-surface) 100%);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.strategy-list-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-accent) 26%,var(--color-surface-border));box-shadow:0 16px 28px #0f172a1a}.strategy-list-item.selected{border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-surface-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 28%,transparent),0 18px 32px #0f172a1f;background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent-soft) 46%,white) 0%,var(--color-surface) 100%)}.strategy-list-item.disabled{opacity:.68;cursor:not-allowed}.strategy-list-item.disabled:hover{transform:none;box-shadow:none}.strategy-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px}.strategy-info{display:flex;flex-direction:column;gap:6px;min-width:0}.strategy-info__top{display:flex;flex-direction:column;gap:6px}.strategy-id{font-weight:700;color:var(--color-text);word-break:break-all;font-size:.92rem}.strategy-created-at{font-size:.76rem;color:var(--color-muted)}.strategy-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.84rem;color:var(--color-muted);white-space:normal;line-height:1.5;font-variant-numeric:tabular-nums}.market-badges{display:inline-flex;flex-wrap:wrap;gap:6px}.market-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;border:1px solid transparent;font-size:.74rem;line-height:1.3;white-space:nowrap;font-weight:700}.market-badge-ok{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.market-badge-warn{color:#92400e;background:#fef3c7;border-color:#fbbf24}.market-badge-bad{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.market-badge-muted{color:#475569;background:#e2e8f0c2;border-color:#94a3b86b}.status-active{color:#0f766e}.status-loading-state{color:#b45309}.status-queued{color:#a16207}.status-starting{color:#9a3412}.status-loading-data{color:#c2410c}.status-initializing{color:#7c3aed}.status-running{color:#0369a1}.status-completed{color:#15803d}.status-stopped{color:#be123c}.strategy-status[class*=status-error]{color:#dc2626;font-weight:800}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 3px #0f172a0d}.status-dot.status-queued{background:#a16207}.status-dot.status-starting{background:#9a3412}.status-dot.status-loading-data{background:#c2410c}.status-dot.status-initializing{background:#7c3aed}.status-dot.status-running{background:#0369a1}.status-dot.status-completed{background:#15803d}.status-dot.status-stopped{background:#be123c}.status-dot.status-active{background:#0f766e}.strategy-progress-meta{display:inline-flex;align-items:center;gap:6px;padding-left:2px}.progress-wrap{position:relative;display:inline-block;width:110px;height:7px;background:#94a3b838;border-radius:999px;overflow:hidden}.progress-bar{display:block;height:100%;background:linear-gradient(90deg,var(--color-accent) 0%,#38bdf8 100%)}.strategy-progress-value{font-size:.76rem;color:var(--color-text);font-weight:700}.strategy-progress-count{font-size:.74rem;color:var(--color-muted)}.strategy-config-summary{display:block;padding:8px 10px;border-radius:10px;border:1px dashed color-mix(in srgb,var(--color-surface-border) 86%,transparent);background:color-mix(in srgb,var(--color-button-bg) 78%,transparent)}.strategy-config-summary__text{display:block;color:var(--color-muted);font-size:.76rem;line-height:1.55}.strategy-config-summary__operations{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--color-surface-border) 70%,transparent);color:var(--color-muted);font-size:.76rem;line-height:1.45}.strategy-config-summary__operations strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700}.strategy-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end}.strategy-stopping-indicator{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.28);color:var(--color-muted);background:#f1f5f9b3;font-size:.8rem;font-style:normal;font-weight:700}.stop-strategy-button{padding:10px 14px;border-radius:12px;border:1px solid rgba(185,28,28,.24);background:#fee2e2eb;color:#991b1b;cursor:pointer;white-space:nowrap;font-size:.82rem;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.stop-strategy-button:hover{transform:translateY(-1px);box-shadow:0 12px 20px #b91c1c1f;background:#dc2626;color:#fff;border-color:#dc2626}.stop-strategy-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.strategy-empty{margin:0;padding:20px 16px;border:1px dashed color-mix(in srgb,var(--color-surface-border) 84%,transparent);border-radius:16px;background:color-mix(in srgb,var(--color-button-bg) 72%,transparent);color:var(--color-muted);text-align:center}body.dark-mode .error-message{background:#7f1d1d57;border-color:#f8717157;color:#fca5a5}body.dark-mode .market-badge-ok{color:#a7f3d0;background:#065f4657;border-color:#34d39970}body.dark-mode .market-badge-warn{color:#fde68a;background:#92400e57;border-color:#fbbf2470}body.dark-mode .market-badge-bad{color:#fca5a5;background:#7f1d1d6b;border-color:#f871716b}body.dark-mode .market-badge-muted{color:#cbd5e1;background:#1e293bbd;border-color:#64748b66}body.dark-mode .progress-wrap{background:#64748b52}body.dark-mode .strategy-stopping-indicator{background:#1e293bb8;border-color:#64748b57}body.dark-mode .stop-strategy-button{background:#7f1d1d52;border-color:#f8717147;color:#fecaca}@media (max-width: 900px){.strategy-list-item{flex-direction:column}.strategy-actions{width:100%;justify-content:stretch}.stop-strategy-button,.strategy-stopping-indicator{width:100%;justify-content:center}}.app-page{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:14px 0 32px;color:var(--color-text)}.app-page__topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--color-surface-border);border-radius:16px;background:color-mix(in srgb,var(--color-surface) 88%,transparent);box-shadow:0 12px 24px #0f172a12}.app-page__brand{display:inline-flex;align-items:center}.app-page__logo{display:inline-flex;align-items:center;gap:0;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:800;line-height:1;letter-spacing:-.05em}.app-page__logo-symbol{color:var(--color-accent)}.app-page__logo-text{color:var(--color-text)}.app-page__control-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.app-page__control-cluster--actions{justify-content:flex-end}.app-page__role{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-accent) 18%,var(--color-surface-border));background:color-mix(in srgb,var(--color-accent-soft) 62%,white);color:var(--color-text);font-size:.78rem;font-weight:700;text-transform:capitalize}.app-page__theme-toggle,.app-page__logout-btn{border:1px solid var(--color-button-border);background:var(--color-button-bg);color:var(--color-button-text);padding:8px 12px;border-radius:12px;font-size:.84rem;font-weight:700;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.app-page__theme-toggle:hover,.app-page__logout-btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0f172a1a}.app-page__theme-toggle:hover{background:var(--color-button-hover-bg);color:var(--color-button-hover-text);border-color:var(--color-button-hover-border)}.app-page__logout-btn:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.app-layout{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(380px,.9fr);gap:12px;align-items:start}.app-section{border:1px solid var(--color-surface-border);border-radius:18px;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 92%,white) 0%,var(--color-surface) 100%);box-shadow:0 14px 28px #0f172a0f}.app-section--chart{grid-column:1 / -1}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.section-title{margin:0;font-size:1rem;line-height:1.1;letter-spacing:-.02em}@media (max-width: 1120px){.app-layout{grid-template-columns:1fr}.app-section--chart{grid-column:auto}}@media (max-width: 720px){.app-page{width:min(100% - 20px,100%);padding:10px 0 24px}.app-page__topbar,.app-section{border-radius:14px;padding:12px}.app-page__control-cluster--actions{width:100%;justify-content:stretch}.app-page__theme-toggle,.app-page__logout-btn{flex:1 1 180px}}.strategy-chart-wrap{background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-accent-soft) 54%,transparent) 0%,transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--chart-surface) 92%,transparent) 0%,var(--chart-surface) 100%);border:1px solid var(--chart-surface-border);border-radius:20px;padding:14px;box-shadow:0 24px 46px #0f172a1f}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px;color:var(--chart-text-primary)}.chart-header .title{font-weight:700;font-size:16px;letter-spacing:.01em}.chart-header .meta{display:flex;gap:12px;font-size:12px;color:var(--chart-meta-text);align-items:center}.chart-header-main{display:flex;flex-direction:column;gap:4px;min-width:0}.chart-header-subtitle{display:flex;flex-wrap:wrap;gap:8px;line-height:1.35}.chart-stats-strip,.chart-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px}.chart-stats-strip{padding:10px 12px;border:1px solid var(--chart-surface-border);border-radius:14px;background:color-mix(in srgb,var(--chart-overlay-bg) 82%,transparent)}.chart-toolbar{position:sticky;top:8px;z-index:8}.chart-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--chart-control-border) 84%,transparent);background:color-mix(in srgb,var(--chart-control-bg) 92%,transparent);color:var(--chart-text-primary);font-size:12px;white-space:nowrap}.chart-pill-muted{color:var(--chart-meta-text);border-style:dashed}.chart-toolbar-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:9px 11px;border-radius:14px;border:1px solid var(--chart-surface-border);background:color-mix(in srgb,var(--chart-overlay-bg) 84%,transparent);box-shadow:0 10px 18px #0f172a14}.chart-toolbar-jump{margin-left:auto}.jump-datetime-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.jump-datetime-form span{color:var(--chart-meta-text);font-size:12px}.jump-datetime-form input[type=datetime-local]{background:var(--chart-control-bg);border:1px solid var(--chart-control-border);border-radius:8px;padding:6px 8px;color:var(--chart-control-text);font-size:12px}.jump-datetime-form input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(0)}body.dark-mode .jump-datetime-form input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.9)}.jump-datetime-error{color:#f87171;font-size:12px;margin:-2px 0 8px}.chart-recovery-banner{margin-bottom:8px;padding:10px 12px;border-radius:10px;border:1px solid transparent;font-size:12px;line-height:1.4}.chart-recovery-banner-ok{color:#065f46;background:#d1fae5;border-color:#6ee7b7}.chart-recovery-banner-bad{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.chart-warmup-summary{margin-bottom:8px;padding:10px 12px;border:1px solid var(--chart-surface-border);border-radius:10px;background:var(--chart-overlay-bg)}body.dark-mode .chart-recovery-banner-ok{color:#a7f3d0;background:#065f4659;border-color:#10b9818c}body.dark-mode .chart-recovery-banner-bad{color:#fca5a5;background:#991b1b59;border-color:#f871718c}.chart-warmup-summary .warmup-title{font-size:12px;font-weight:600;color:var(--chart-text-primary)}.warmup-summary-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.chart-warmup-summary .warmup-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--chart-meta-text)}.warmup-meta-detail{margin-top:8px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--chart-surface-border) 88%,transparent)}.chart-loading{color:var(--chart-meta-text);padding:16px;display:flex;align-items:center;gap:8px}.chart-error{color:#f43f5e;padding:16px}.chart-empty{color:var(--chart-meta-text);padding:16px;text-align:center}.spinner{width:14px;height:14px;border:2px solid var(--chart-spinner);border-top-color:transparent;border-radius:50%;display:inline-block;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chart-panel{position:relative}.chart-overlay{position:absolute;right:8px;top:8px;max-width:min(480px,56%);max-height:80%;overflow:auto;background:var(--chart-overlay-bg);color:var(--chart-text-primary);border:1px solid var(--chart-overlay-border);border-radius:10px;padding:12px;z-index:20;box-shadow:0 12px 24px #0f172a2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.overlay-title{font-size:12px;color:var(--chart-overlay-title);margin-bottom:6px;font-weight:600}.overlay-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.overlay-row{display:contents}.overlay-row .k{color:var(--chart-overlay-muted);font-size:12px}.overlay-row .v{color:var(--chart-text-primary);font-size:12px}.chart-action-button,.chart-toggle-button,.chart-header .chart-info-button,.chart-header .chart-help-button{background:var(--chart-control-bg);color:var(--chart-control-text);border:1px solid var(--chart-control-border);border-radius:10px;padding:7px 11px;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease}.chart-action-button:hover,.chart-toggle-button:hover,.chart-header .chart-info-button:hover,.chart-header .chart-help-button:hover{background:var(--chart-control-hover-bg);color:var(--chart-control-hover-text);border-color:var(--chart-control-hover-border);transform:translateY(-1px);box-shadow:0 6px 14px #0f172a14}.chart-action-button:disabled,.chart-toggle-button:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.chart-toggle-button.is-active{background:color-mix(in srgb,var(--chart-control-hover-bg) 78%,transparent);border-color:color-mix(in srgb,var(--chart-control-hover-border) 82%,transparent);color:var(--chart-control-hover-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chart-control-hover-border) 36%,transparent)}.chart-action-button-primary{background:color-mix(in srgb,var(--color-button-bg) 88%,var(--chart-control-bg));border-color:var(--color-button-border);color:var(--color-button-text)}.chart-action-button-primary:hover{background:var(--color-button-hover-bg);border-color:var(--color-button-hover-border);color:var(--color-button-hover-text)}.chart-help-flyout{position:absolute;right:12px;top:48px;background:var(--chart-help-bg);color:var(--chart-help-text);border:1px solid var(--chart-help-border);border-radius:12px;padding:12px 14px;width:min(360px,88%);z-index:41;box-shadow:0 12px 28px #0f172a59}.help-title{font-weight:600;margin-bottom:8px;color:var(--chart-help-title)}.help-list{margin:0 0 10px 16px;padding:0}.help-list li{margin:4px 0;font-size:13px;color:inherit;line-height:1.35}.chart-legend{position:absolute;left:8px;bottom:8px;background:var(--chart-legend-bg);color:var(--chart-text-primary);border:1px solid var(--chart-legend-border);border-radius:10px;padding:10px 12px;z-index:28;font-size:12px;box-shadow:0 8px 18px #0f172a1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.legend-title{font-weight:600;color:var(--chart-help-title);margin-bottom:6px}.legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.legend-item{display:flex;align-items:center;gap:8px;white-space:nowrap;color:inherit}.sample{display:inline-block;width:18px;height:6px;border-radius:2px}.sample.sample-range-bull{background:#22c55e26;border:1px solid rgba(34,197,94,.9);height:8px}.sample.sample-range-bear{background:#ef444426;border:1px solid rgba(239,68,68,.9);height:8px}.sample.sample-line-a{background:#ff7a00;height:3px}.sample.sample-line-b{background:#3b82f6;height:2px}.sample.sample-line-sl{background:transparent;height:0;border-top:3px dashed #ff4d4d;width:18px}.sample.sample-line-tp{background:transparent;height:0;border-top:3px dashed #22c55e;width:18px}.sample.sample-grid-mu{background:transparent;height:0;border-top:2px dashed rgba(147,197,253,.35);width:18px}.sample.sample-zone{background:transparent;height:0;border-top:2px solid #fde047;width:18px}.sample.sample-marker-a{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#3b82f6;font-weight:700;font-size:10px;color:#f8fafc}.sample.sample-marker-b{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#f59e0b;font-weight:700;font-size:10px;color:#0f172a}.chart-panel a[href*=tradingview],.chart-panel [class*=watermark],.chart-panel .tv-lightweight-charts__watermark,.chart-panel .tv-lightweight-charts-watermark{display:none!important}.operations-panel{margin-top:16px;background:var(--chart-operations-bg);border:1px solid var(--chart-operations-border);border-radius:8px;padding:12px;color:var(--chart-operations-text);box-shadow:0 8px 20px #0f172a1f}.operations-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.operations-header .title{font-weight:600;font-size:14px}.operations-header .meta{font-size:12px;color:var(--chart-meta-text);display:grid;gap:2px;text-align:right}.operations-loading,.operations-error,.operations-empty{font-size:13px;padding:6px 0;color:inherit}.operations-error{color:#f87171}.operations-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.operations-table-wrap{overflow-x:auto}.operations-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:auto;color:inherit}.operations-table th,.operations-table td{padding:6px 8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.operations-table th{color:var(--chart-operations-header-text);font-weight:600;background:var(--chart-operations-header-bg)}.operations-table tbody tr{border-bottom:1px solid rgba(148,163,184,.18)}.operations-table tbody tr:last-child{border-bottom:none}.operations-table tbody tr:hover{background:#2563eb14}.operations-table tbody tr.row-failed{background:#ec48992e}.operations-table tbody tr.row-failed:hover{background:#ec489942}.operations-table tbody tr.row-failed td.reason-cell{color:#fda4af;font-weight:600}.btn-sm{white-space:nowrap;background:var(--color-button-bg);color:var(--color-button-text);border:1px solid var(--color-button-border);border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn-sm:disabled{opacity:.4;cursor:not-allowed}.btn-sm:not(:disabled):hover{background:var(--color-button-hover-bg);border-color:var(--color-button-hover-border);color:var(--color-button-hover-text)}.operations-table .operations-jump{background:none;border:none;padding:0;font:inherit;color:var(--chart-link-text, #60a5fa);cursor:pointer;text-decoration:underline}.operations-table .operations-jump:hover,.operations-table .operations-jump:focus-visible{color:var(--chart-link-hover-text, #93c5fd)}.operations-table .operations-jump:focus-visible{outline:1px solid var(--chart-link-hover-text, #93c5fd);outline-offset:2px}.operations-table td.quantity-cell{text-align:right;font-variant-numeric:tabular-nums}.operations-table td.quantity-cell .quantity-hint{margin-top:2px;font-size:11px;color:var(--chart-meta-text);white-space:nowrap}.operations-table td.reason-cell{white-space:normal;word-break:break-word;max-width:100px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.operations-table th:nth-child(1),.operations-table th:nth-child(2),.operations-table th:nth-child(3),.operations-table th:nth-child(4),.operations-table th:nth-child(5),.operations-table td:nth-child(1),.operations-table td:nth-child(2),.operations-table td:nth-child(3),.operations-table td:nth-child(4),.operations-table td:nth-child(5){width:1%}.operations-summary{margin-top:6px;font-size:12px;color:var(--chart-meta-text)}@media (max-width: 1100px){.chart-toolbar-jump{margin-left:0;width:100%}}@media (max-width: 820px){.strategy-chart-wrap{padding:10px;border-radius:12px}.chart-header{flex-direction:column;align-items:stretch}.chart-overlay{position:static;max-width:100%;max-height:none;margin-top:10px}.chart-legend{position:static;margin-top:10px}.overlay-grid,.legend-grid{grid-template-columns:1fr}}.landing{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,rgba(13,148,136,.14),transparent 30%),radial-gradient(circle at bottom right,rgba(234,88,12,.08),transparent 28%),linear-gradient(180deg,#f3f6f5,#e7ecea);color:#172033;overflow-x:hidden}.landing__nav,.landing__main,.landing__footer{width:min(1240px,calc(100% - 40px));margin-left:auto;margin-right:auto}.landing__nav{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing__brand{display:flex;flex-direction:column;gap:4px}.landing__logo{font-size:1.4rem;font-weight:800;letter-spacing:-.04em;text-transform:uppercase;color:#0f766e}.landing__tagline{font-size:.8rem;color:#172033a8}.landing__nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.landing__nav-link{color:#172033c2;text-decoration:none;font-weight:700;font-size:.92rem;transition:color .18s ease,transform .18s ease}.landing__nav-link:hover,.landing__nav-link:focus{color:#0f766e;transform:translateY(-1px)}.landing__theme-toggle{border:1px solid var(--color-button-border);background:var(--color-button-bg);color:var(--color-button-text);padding:10px 16px;border-radius:999px;font-weight:700;cursor:pointer}.landing__nav-link--cta{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#0f766e,#115e59);color:#f8fffe;box-shadow:0 16px 24px -18px #0f766ea6}.landing__main{flex:1;padding:24px 0 72px;display:flex;flex-direction:column;gap:80px}.landing__hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:38px;align-items:stretch}.landing__hero-text{padding:clamp(24px,5vw,44px);border:1px solid rgba(128,146,166,.24);border-radius:30px;background:linear-gradient(160deg,#ffffffe0,#f7f9fce6);box-shadow:0 36px 65px -48px #0f172a73}.landing__hero-text h1{margin:0 0 18px;font-size:clamp(2.5rem,5vw,4.4rem);line-height:.96;letter-spacing:-.07em}.landing__hero-text p{margin:0 0 28px;color:#172033b8;font-size:1.02rem;line-height:1.7;max-width:60ch}.landing__cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.landing__btn{padding:13px 22px;border-radius:999px;font-size:.94rem;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.landing__btn--primary{background:linear-gradient(135deg,#0f766e,#115e59);color:#f8fffe;box-shadow:0 22px 34px -24px #0f766ecc}.landing__btn--ghost{background:#0f766e14;color:#0f766e;border:1px solid rgba(15,118,110,.18)}.landing__btn:hover,.landing__btn:focus{transform:translateY(-1px)}.landing__stats{margin:34px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.landing__stat-item{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid rgba(128,146,166,.2);background:#ffffffb3}.landing__stat-value{font-size:1.55rem;font-weight:800;color:#0f766e;letter-spacing:-.05em}.landing__stat-label{font-size:.82rem;color:#1720339e}.landing__hero-visual{display:grid;gap:14px}.landing__hero-card{padding:22px;border-radius:24px;background:#ffffffd1;border:1px solid rgba(128,146,166,.22);box-shadow:0 24px 42px -34px #0f172a73}.landing__hero-card--primary{transform:translate(18px)}.landing__hero-card--secondary{transform:translate(72px)}.landing__hero-card--tertiary{transform:translate(36px)}.landing__hero-card-label,.landing__hero-card-sub{margin:0;color:#1720339e}.landing__hero-card-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.landing__hero-card h3{margin:12px 0 8px;font-size:2rem;line-height:1;letter-spacing:-.05em}.landing__features h2,.landing__benefits h2,.landing__testimonials h2{margin:0 0 26px;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.05em}.landing__feature-grid,.landing__testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.landing__feature-card,.landing__testimonial-card{padding:24px;border-radius:24px;border:1px solid rgba(128,146,166,.22);background:#ffffffd1;box-shadow:0 26px 46px -36px #0f172a6b}.landing__feature-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#0f766e1a;color:#0f766e;font-weight:800;letter-spacing:.12em;margin-bottom:14px}.landing__feature-card h3{margin:0 0 10px;font-size:1.08rem}.landing__feature-card p,.landing__benefits-content p,.landing__benefits-list,.landing__testimonial-card blockquote,.landing__testimonial-role,.landing__footer{color:#172033b3}.landing__benefits{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:28px;align-items:center}.landing__benefits-content{padding:28px;border-radius:28px;border:1px solid rgba(128,146,166,.2);background:#ffffffd1}.landing__benefits-list{margin:0;padding-left:1.1rem;display:grid;gap:12px}.landing__benefits-visual{display:grid;gap:14px}.landing__benefits-card{padding:22px;border-radius:22px;text-align:center;border:1px solid rgba(15,118,110,.18);background:#0f766e14;color:#0f766e;font-weight:800}.landing__benefits-card--accent{background:#ea580c14;border-color:#ea580c2e;color:#c2410c}.landing__benefits-metric{display:block;font-size:1.7rem;margin-bottom:8px}.landing__testimonials{text-align:center}.landing__testimonial-card blockquote{margin:0 0 18px;font-style:normal;line-height:1.65}.landing__testimonial-author{display:block;font-weight:800}.landing__testimonial-role{display:block;margin-top:3px;font-size:.84rem}.landing__cta-section{padding:clamp(28px,6vw,58px);border-radius:32px;background:radial-gradient(circle at top right,rgba(255,255,255,.14),transparent 24%),linear-gradient(135deg,#0f766e,#115e59);color:#f8fffe;box-shadow:0 48px 80px -56px #0f172ab8}.landing__cta-inner{max-width:720px;margin:0 auto;text-align:center}.landing__cta-inner h2{margin:0 0 16px;font-size:clamp(2rem,3vw,3rem);line-height:1;letter-spacing:-.06em}.landing__cta-inner p{margin:0 0 26px;color:#f8fffec7;line-height:1.65}.landing__footer{margin-top:auto;padding:28px 0 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem}.landing__footer-links{display:flex;gap:16px}.landing__footer-links a{text-decoration:none}body.dark-mode .landing{background:radial-gradient(circle at top left,rgba(45,212,191,.14),transparent 26%),radial-gradient(circle at bottom right,rgba(249,115,22,.14),transparent 22%),linear-gradient(180deg,#0b1220,#0f1728);color:#e6edf7}body.dark-mode .landing__tagline,body.dark-mode .landing__feature-card p,body.dark-mode .landing__benefits-content p,body.dark-mode .landing__benefits-list,body.dark-mode .landing__testimonial-card blockquote,body.dark-mode .landing__testimonial-role,body.dark-mode .landing__footer,body.dark-mode .landing__hero-card-label,body.dark-mode .landing__hero-card-sub,body.dark-mode .landing__stat-label{color:#e6edf7b3}body.dark-mode .landing__nav-link{color:#e6edf7d1}body.dark-mode .landing__nav-link:hover,body.dark-mode .landing__nav-link:focus,body.dark-mode .landing__footer-links a:hover,body.dark-mode .landing__footer-links a:focus{color:#5eead4}body.dark-mode .landing__logo,body.dark-mode .landing__stat-value,body.dark-mode .landing__feature-icon,body.dark-mode .landing__benefits-card{color:#5eead4}body.dark-mode .landing__nav-link--cta,body.dark-mode .landing__btn--primary{color:#042f2e;background:linear-gradient(135deg,#2dd4bf,#14b8a6)}body.dark-mode .landing__hero-text,body.dark-mode .landing__hero-card,body.dark-mode .landing__feature-card,body.dark-mode .landing__testimonial-card,body.dark-mode .landing__benefits-content{background:#0b1220d1;border-color:#4755696b;box-shadow:0 30px 56px -42px #020617c2}body.dark-mode .landing__hero-text p,body.dark-mode .landing__nav-link,body.dark-mode .landing__stat-label{color:#e6edf7c2}body.dark-mode .landing__btn--ghost{background:#2dd4bf14;color:#5eead4;border-color:#2dd4bf2e}body.dark-mode .landing__benefits-card{background:#2dd4bf14;border-color:#2dd4bf2e}body.dark-mode .landing__benefits-card--accent{color:#fdba74;background:#f973161a;border-color:#f973162e}body.dark-mode .landing__cta-section{background:radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 22%),linear-gradient(135deg,#0f766e,#0b4f4a)}@media (max-width: 1024px){.landing__hero,.landing__benefits{grid-template-columns:1fr}.landing__hero-visual{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing__hero-card,.landing__hero-card--primary,.landing__hero-card--secondary,.landing__hero-card--tertiary{transform:none}}@media (max-width: 720px){.landing__nav,.landing__main,.landing__footer{width:min(100% - 20px,100%)}.landing__nav{flex-direction:column;align-items:flex-start}.landing__nav-links{width:100%;justify-content:space-between}.landing__hero-text,.landing__benefits-content,.landing__cta-section{padding:22px;border-radius:24px}}.app-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1020c7;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}.app-error-card{background:#0f172a;color:#e5e7eb;border:1px solid #334155;border-radius:8px;width:min(100%,960px);box-shadow:0 10px 30px #0009}.app-error-title{font-size:18px;font-weight:700;padding:16px 16px 0}.app-error-sub{font-size:13px;color:#cbd5e1;padding:4px 16px 8px}.app-error-actions{display:flex;gap:8px;padding:8px 16px}.btn{background:#334155;color:#e5e7eb;border:1px solid #475569;padding:6px 10px;border-radius:6px;cursor:pointer}.btn.secondary{background:transparent}.btn:hover{background:#475569}.app-error-log{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;white-space:pre-wrap;padding:12px 16px 16px;border-top:1px solid #334155;max-height:60vh;overflow:auto}:root{color-scheme:light;--font-sans: "Manrope", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;--color-background: radial-gradient(circle at top left, rgba(13, 148, 136, .12), transparent 32%), radial-gradient(circle at bottom right, rgba(234, 88, 12, .08), transparent 28%), linear-gradient(180deg, #f3f6f5 0%, #e7ecea 100%);--color-text: #172033;--color-muted: #5c6677;--color-surface: rgba(255, 255, 255, .82);--color-surface-border: rgba(128, 146, 166, .24);--color-accent: #0f766e;--color-accent-strong: #115e59;--color-accent-soft: rgba(20, 184, 166, .14);--color-danger: #b91c1c;--color-warning: #b45309;--color-button-bg: rgba(255, 255, 255, .74);--color-button-border: rgba(104, 120, 145, .28);--color-button-text: #172033;--color-button-hover-bg: #172033;--color-button-hover-text: #f8fbfb;--color-button-hover-border: #172033;--color-input-bg: rgba(255, 255, 255, .94);--color-input-border: rgba(120, 138, 161, .34);--color-input-focus: rgba(15, 118, 110, .32);--chart-surface: rgba(255, 255, 255, .92);--chart-surface-border: rgba(128, 146, 166, .28);--chart-text-primary: #172033;--chart-text-secondary: #5c6677;--chart-control-bg: rgba(248, 250, 252, .9);--chart-control-border: rgba(120, 138, 161, .26);--chart-control-text: #172033;--chart-control-hover-bg: #0f766e;--chart-control-hover-text: #f5fffe;--chart-control-hover-border: #0f766e;--chart-overlay-bg: rgba(255, 255, 255, .94);--chart-overlay-border: rgba(128, 146, 166, .26);--chart-overlay-title: #0f766e;--chart-overlay-muted: #6b7280;--chart-help-bg: rgba(255, 255, 255, .98);--chart-help-border: rgba(128, 146, 166, .3);--chart-help-text: #172033;--chart-help-title: #0f766e;--chart-legend-bg: rgba(247, 249, 252, .96);--chart-legend-border: rgba(128, 146, 166, .24);--chart-meta-text: #667085;--chart-spinner: #667085;--chart-operations-bg: rgba(255, 255, 255, .94);--chart-operations-border: rgba(128, 146, 166, .24);--chart-operations-text: #172033;--chart-operations-header-bg: rgba(231, 236, 242, .78);--chart-operations-header-text: #0f766e;--chart-series-color: #0f766e;--chart-grid-color: rgba(120, 138, 161, .26);--chart-marker-default: #ef4444;--chart-marker-failed: #f472b6;--chart-marker-text: #fdf2f8}body.dark-mode{--color-background: radial-gradient(circle at top left, rgba(13, 148, 136, .16), transparent 28%), radial-gradient(circle at bottom right, rgba(249, 115, 22, .12), transparent 24%), linear-gradient(180deg, #0b1220 0%, #0f1728 100%);--color-text: #e6edf7;--color-muted: #93a0b5;--color-surface: rgba(15, 23, 42, .84);--color-surface-border: rgba(71, 85, 105, .45);--color-accent: #2dd4bf;--color-accent-strong: #14b8a6;--color-accent-soft: rgba(45, 212, 191, .14);--color-danger: #f87171;--color-warning: #fbbf24;--color-button-bg: rgba(15, 23, 42, .78);--color-button-border: rgba(100, 116, 139, .46);--color-button-text: #e6edf7;--color-button-hover-bg: #2dd4bf;--color-button-hover-text: #042f2e;--color-button-hover-border: #2dd4bf;--color-input-bg: rgba(15, 23, 42, .72);--color-input-border: rgba(100, 116, 139, .44);--color-input-focus: rgba(45, 212, 191, .24);--chart-surface: rgba(15, 23, 42, .92);--chart-surface-border: rgba(71, 85, 105, .42);--chart-text-primary: #e6edf7;--chart-text-secondary: #93a0b5;--chart-control-bg: rgba(11, 18, 32, .86);--chart-control-border: rgba(71, 85, 105, .5);--chart-control-text: #e6edf7;--chart-control-hover-bg: #2dd4bf;--chart-control-hover-text: #03211f;--chart-control-hover-border: #2dd4bf;--chart-overlay-bg: rgba(11, 18, 32, .94);--chart-overlay-border: rgba(71, 85, 105, .46);--chart-overlay-title: #5eead4;--chart-overlay-muted: #8aa0b5;--chart-help-bg: rgba(8, 15, 28, .96);--chart-help-border: rgba(71, 85, 105, .5);--chart-help-text: #e6edf7;--chart-help-title: #5eead4;--chart-legend-bg: rgba(11, 18, 32, .93);--chart-legend-border: rgba(71, 85, 105, .45);--chart-meta-text: #93a0b5;--chart-spinner: #93a0b5;--chart-operations-bg: rgba(11, 18, 32, .95);--chart-operations-border: rgba(71, 85, 105, .46);--chart-operations-text: #e6edf7;--chart-operations-header-bg: rgba(19, 33, 56, .82);--chart-operations-header-text: #5eead4;--chart-series-color: #2dd4bf;--chart-grid-color: rgba(71, 85, 105, .34);--chart-marker-default: #fb7185;--chart-marker-failed: #f472b6;--chart-marker-text: #fdf2f8}*,*:before,*:after{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body,#root{min-height:100%;margin:0;padding:0;font-family:var(--font-sans);background:var(--color-background);color:var(--color-text);transition:background .3s ease,color .3s ease}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}code,pre,.strategy-id,.chart-pill,.chart-action-button,.chart-toggle-button,.overlay-row .v,.overlay-row .k{font-family:var(--font-mono)}a{color:inherit}::selection{background:color-mix(in srgb,var(--color-accent) 26%,white);color:var(--color-text)}
