:root{--bg-main:#080b11;--bg-surface:#0f141d;--bg-surface-elevated:#161c28;--bg-surface-hover:#1c2433;--border-subtle:#1c2433;--border-medium:#273144;--border-active:#3b82f6;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--color-bull:#00c087;--color-bull-glow:#00c08740;--color-bull-bg:#00c0871a;--color-bear:#f6465d;--color-bear-glow:#f6465d40;--color-bear-bg:#f6465d1a;--color-primary:#3b82f6;--color-primary-glow:#3b82f640;--color-stoch-k:#2962ff;--color-stoch-d:#ff6d00;--color-amber:#f59e0b;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--shadow-card:0 4px 20px #00000059;--shadow-glow-bull:0 0 15px #00c0874d}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.brand-section{align-items:center;gap:14px;display:flex}.logo-badge{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#f7931a 0%,#d67406 100%);justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:800;display:flex;box-shadow:0 0 12px #f7931a59}.brand-titles h1{letter-spacing:-.3px;align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.tag-b3{color:#60a5fa;border-radius:var(--radius-sm);text-transform:uppercase;background:#3b82f626;border:1px solid #3b82f64d;padding:2px 6px;font-size:10px;font-weight:700}.timeframe-pill{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:#38bdf8;padding:2px 8px;font-size:11px;font-weight:600}.brand-titles p{color:var(--text-secondary);font-size:12px}.strategy-switch-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;display:flex}.strat-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-secondary);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.strat-btn:hover{border-color:var(--color-primary);color:var(--text-primary);background:var(--bg-surface-hover)}.strat-btn.active{border-color:var(--color-primary);color:#fff;background:#3b82f626;box-shadow:0 0 10px #3b82f640}.strat-tag{color:var(--text-muted);background:#ffffff1a;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:800}.strat-btn.active .strat-tag{background:var(--color-primary);color:#fff}.strat-tag.mtf{color:#f59e0b;background:#f59e0b33}.strat-btn.active .strat-tag.mtf{color:#000;background:linear-gradient(135deg,#f59e0b,#d97706);font-weight:800}.ticker-live-bar{background:var(--bg-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);align-items:center;gap:24px;padding:6px 16px;display:flex}.ticker-item{flex-direction:column;display:flex}.ticker-label{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.ticker-value{font-size:15px;font-weight:700;font-family:var(--font-mono)}.ticker-value.bull{color:var(--color-bull)}.ticker-value.bear{color:var(--color-bear)}.pulse-dot{background:var(--color-bull);width:8px;height:8px;box-shadow:0 0 8px var(--color-bull);border-radius:50%;margin-right:6px;animation:1.8s infinite pulse-live;display:inline-block}@keyframes pulse-live{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;box-shadow:0 0 14px var(--color-bull);transform:scale(1.3)}to{opacity:.8;transform:scale(.9)}}.tab-navigation{background:var(--bg-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);gap:4px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.tab-btn:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.tab-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px var(--color-primary-glow)}.main-content{flex-direction:column;flex:1;gap:16px;padding:18px 24px;display:flex}.tab-pane{flex-direction:column;gap:16px;display:none}.tab-pane.active{display:flex}.strategy-quickbar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.setup-summary{align-items:center;gap:14px;display:flex}.setup-indicator-pill{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.setup-indicator-pill .pill-dot{border-radius:50%;width:10px;height:10px}.pill-dot.stoch{background:var(--color-stoch-k)}.pill-dot.bollinger{background:var(--color-bull)}.setup-indicator-pill.clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.setup-indicator-pill.clickable:hover{border-color:var(--color-primary);background:#ffffff0f;transform:translateY(-1px)}.setup-indicator-pill.active{border-color:var(--color-primary);background:#2563eb29;box-shadow:0 0 10px #2563eb40}.setup-indicator-pill.active strong{color:#93c5fd}.params-inputs{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.input-group{flex-direction:column;gap:4px;display:flex}.input-group label{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.input-field-wrapper{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-sm);align-items:center;padding:4px 10px;display:flex}.input-field-wrapper input,.input-field-wrapper select{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;width:80px;font-size:13px;font-weight:600}.input-field-wrapper select{cursor:pointer;width:auto}.input-field-wrapper span.unit{color:var(--text-muted);margin-left:4px;font-size:11px}.btn-lock{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-medium);background:var(--bg-surface-elevated);color:var(--text-primary);align-items:center;gap:7px;padding:7px 14px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.btn-lock:hover{transform:translateY(-1px)}.btn-lock.locked{color:var(--color-bull);background:#00c0871f;border-color:#00c08766;box-shadow:0 0 10px #00c08726}.btn-lock.unlocked{border-color:var(--color-primary);color:#60a5fa;background:#3b82f626;box-shadow:0 0 10px #3b82f633}.params-inputs.is-locked .input-field-wrapper{background:#0b0e1499;border-color:#27314480}.params-inputs.is-locked input,.params-inputs.is-locked select{opacity:.65;cursor:not-allowed;pointer-events:none}.oco-sim-card{border-radius:var(--radius-md);background:#3b82f612;border:1px solid #3b82f640;flex-direction:column;gap:4px;width:100%;margin-top:6px;padding:10px 14px;display:flex}.oco-sim-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.oco-sim-badge{color:#60a5fa;letter-spacing:.5px;font-size:11px;font-weight:700}.oco-sim-tag{color:#93c5fd;background:#3b82f633;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.oco-sim-body{color:var(--text-secondary);font-size:12px;line-height:1.45}.oco-sim-body strong{color:#38bdf8;font-weight:700}.oco-sim-card.warning{background:#f59e0b14;border-color:#f59e0b59}.oco-sim-card.warning .oco-sim-badge{color:#fbbf24}.oco-sim-card.warning .oco-sim-tag{color:#fcd34d;background:#f59e0b33}.btn-primary{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 0 12px var(--color-primary-glow);background:#2563eb}.chart-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.chart-card-header{background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.chart-title-area{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chart-title{font-size:13px;font-weight:700}.mtf-timeframe-selector{align-items:center;gap:8px;margin-left:4px;display:flex}.mtf-tf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.mtf-buttons-group{border-radius:var(--radius-sm);border:1px solid var(--border-medium);background:#0f172aa6;gap:2px;padding:2px;display:flex}.mtf-buttons-group .period-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .2s}.mtf-buttons-group .period-btn:hover{color:var(--text-primary);background:#ffffff0f}.mtf-buttons-group .period-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 0 8px #2563eb66}.chart-legend{align-items:center;gap:14px;font-size:11px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.legend-color{border-radius:2px;width:10px;height:3px}.chart-viewport{background:#0b0e14;width:100%;height:580px;position:relative}.live-status-bar{background:var(--bg-surface-elevated);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 18px;font-size:12px;display:flex}.status-indicator-tag{border-radius:var(--radius-sm);align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.status-indicator-tag.waiting{color:#8b949e;background:#8b949e1a;border:1px solid #8b949e40}.status-indicator-tag.forming{color:#fbbf24;background:#f59e0b2e;border:1px solid #f59e0b;animation:1.8s ease-in-out infinite pulseGlowAmber;box-shadow:0 0 12px #f59e0b59}.status-indicator-tag.triggered{color:#00e699;background:#00c08740;border:1px solid #00c087;animation:1.2s ease-in-out infinite pulseGlowGreen;box-shadow:0 0 18px #00c08780}@keyframes pulseGlowAmber{0%,to{transform:scale(1);box-shadow:0 0 6px #f59e0b4d}50%{transform:scale(1.02);box-shadow:0 0 16px #f59e0ba6}}@keyframes pulseGlowGreen{0%,to{transform:scale(1);box-shadow:0 0 8px #00c08766}50%{transform:scale(1.03);box-shadow:0 0 24px #00c087d9}}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:#161b22cc;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);border-color:var(--border-strong);background:#21262de6}.btn-secondary.active{color:#60a5fa;background:#3b82f626;border-color:#3b82f680;box-shadow:0 0 10px #3b82f640}.alert-toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.alert-toast{pointer-events:auto;border:1px solid var(--color-bull);border-radius:var(--radius-md);background:#0d1117;align-items:flex-start;gap:12px;min-width:320px;max-width:420px;padding:14px 18px;transition:all .3s;animation:.35s cubic-bezier(.16,1,.3,1) slideInDown;display:flex;box-shadow:0 8px 30px #00c08759}.alert-toast-icon{font-size:24px;line-height:1}.alert-toast-content{flex:1}.alert-toast-title{color:var(--color-bull);margin-bottom:4px;font-size:13px;font-weight:700}.alert-toast-body{color:var(--text-secondary);font-size:12px;line-height:1.4}.alert-toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.alert-toast-close:hover{color:var(--text-primary)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.signals-section{flex-direction:column;gap:10px;display:flex}.section-title-row{justify-content:space-between;align-items:center;display:flex}.section-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.signals-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.signal-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:8px;padding:14px;transition:all .2s;display:flex}.signal-card:hover{border-color:var(--border-active);background:var(--bg-surface-hover);transform:translateY(-2px)}.signal-card-header{justify-content:space-between;align-items:center;display:flex}.signal-time{color:var(--text-muted);font-size:11px}.signal-badge{border-radius:var(--radius-sm);padding:2px 8px;font-size:10px;font-weight:700}.signal-badge.win{background:var(--color-bull-bg);color:var(--color-bull);border:1px solid var(--color-bull)}.signal-badge.loss{background:var(--color-bear-bg);color:var(--color-bear);border:1px solid var(--color-bear)}.signal-badge.open{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f6}.signal-price-row{justify-content:space-between;font-size:13px;display:flex}.signal-detail-pill{color:var(--text-secondary);background:var(--bg-surface-elevated);border-radius:var(--radius-sm);justify-content:space-between;padding:4px 8px;font-size:11px;display:flex}.backtest-controls-bar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.period-buttons-group{background:var(--bg-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--border-medium);gap:4px;padding:4px;display:flex}.period-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s}.period-btn:hover{color:var(--text-primary)}.period-btn.active{background:var(--color-primary);color:#fff}.custom-period-bar{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 18px;animation:.22s ease-out slideInDown}.custom-period-content{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.custom-period-title{color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.custom-period-inputs{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.custom-date-field{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.date-picker-input{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-sm);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:border-color .2s,box-shadow .2s}.date-picker-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #38bdf833}.custom-period-hint{color:var(--text-muted);margin-left:auto;font-size:11px}.scoreboard-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:6px;padding:16px;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--border-medium);height:3px;position:absolute;top:0;left:0;right:0}.metric-card.accent-bull:before{background:var(--color-bull)}.metric-card.accent-bear:before{background:var(--color-bear)}.metric-card.accent-blue:before{background:var(--color-primary)}.metric-card.accent-amber:before{background:var(--color-amber)}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.metric-value{font-size:24px;font-weight:800;font-family:var(--font-mono);color:var(--text-primary)}.metric-value.bull{color:var(--color-bull)}.metric-value.bear{color:var(--color-bear)}.metric-subtext{color:var(--text-secondary);font-size:11px}.winrate-bar-container{background:#f6465d59;border-radius:3px;width:100%;height:6px;margin-top:4px;overflow:hidden}.winrate-bar-fill{background:var(--color-bull);border-radius:3px;height:100%;transition:width .4s}.equity-chart-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;display:flex}.equity-canvas-wrapper{width:100%;height:220px;position:relative}canvas#equityCanvas{width:100%;height:100%;display:block}.table-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.table-header-bar{background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.table-scroll{max-height:400px;overflow-y:auto}table.trades-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}table.trades-table th{background:var(--bg-surface-elevated);color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border-medium);padding:10px 14px;font-size:10px;font-weight:600;position:sticky;top:0}table.trades-table td{border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);padding:10px 14px}table.trades-table tr{cursor:pointer;transition:background .15s}table.trades-table tr:hover{background:var(--bg-surface-hover)}.badge-tag{border-radius:var(--radius-sm);padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-tag.win{background:var(--color-bull-bg);color:var(--color-bull)}.badge-tag.loss{background:var(--color-bear-bg);color:var(--color-bear)}.badge-tag.open{color:#60a5fa;background:#3b82f626}.btn-inspect{background:var(--bg-surface-elevated);border:1px solid var(--border-medium);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;padding:4px 8px;font-size:11px;transition:all .2s}.btn-inspect:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.loading-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b11d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .3s;display:flex;position:absolute;inset:0}.spinner{border:3px solid #3b82f633;border-top-color:var(--color-primary);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#05080fd1;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.modal-card{background:var(--bg-surface-elevated,#161b22);border:1px solid var(--border-medium,#ffffff1f);border-radius:var(--radius-lg,12px);flex-direction:column;width:100%;max-width:820px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3,0 0 20px #3b82f626}.modal-header{border-bottom:1px solid var(--border-medium,#ffffff14);background:#0d111780;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-title-wrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.modal-title-wrap h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.modal-badge-id{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.modal-status-badge{text-transform:uppercase;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:28px;line-height:1;transition:color .15s}.modal-close-btn:hover{color:var(--text-primary)}.modal-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width<=768px){.modal-metric-grid{grid-template-columns:repeat(2,1fr)}}.modal-metric-item{background:var(--bg-surface,#0d1117);border:1px solid var(--border-medium,#ffffff14);border-radius:var(--radius-md,8px);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.modal-metric-item .metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.modal-metric-item .metric-val{color:var(--text-primary);font-size:15px;font-weight:700}.modal-metric-item .metric-val.highlight{color:var(--color-bull)}.modal-metric-item small{color:var(--text-secondary);font-size:11px}.modal-sub-metrics{border:1px solid var(--border-medium,#ffffff14);border-radius:var(--radius-md,8px);background:#0d111799;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:10px 16px;display:flex}.modal-sub-metrics .sub-metric{align-items:center;gap:8px;font-size:12px;display:flex}.modal-sub-metrics .sub-metric span{color:var(--text-muted)}.modal-section-title{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;font-weight:700;display:flex}.live-badge{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:12px;padding:2px 8px;font-size:10px;font-weight:600}.modal-timeline{border-left:2px solid #3b82f640;flex-direction:column;gap:16px;margin-left:12px;padding-left:28px;display:flex;position:relative}.timeline-step{position:relative}.timeline-dot{border:2px solid var(--bg-surface-elevated,#161b22);background:#3b82f6;border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:-35px;box-shadow:0 0 8px #3b82f699}.timeline-dot.entry{background:#10b981;box-shadow:0 0 8px #10b98199}.timeline-dot.rebuy{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.timeline-dot.peak{background:#8b5cf6;box-shadow:0 0 8px #8b5cf699}.timeline-dot.trailing{background:#38bdf8;box-shadow:0 0 8px #38bdf899}.timeline-dot.exit-win{background:#10b981;box-shadow:0 0 8px #10b98199}.timeline-dot.exit-loss{background:#ef4444;box-shadow:0 0 8px #ef444499}.timeline-dot.exit-b3{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.timeline-header{align-items:center;gap:10px;margin-bottom:2px;display:flex}.timeline-time{font-family:var(--font-mono,monospace);color:#38bdf8;font-size:12px;font-weight:700}.timeline-title{color:var(--text-primary);font-size:13px;font-weight:700}.timeline-desc{color:var(--text-secondary);font-size:12px;line-height:1.4}.modal-m1-chart-container{background:var(--bg-surface,#0d1117);border:1px solid var(--border-medium,#ffffff14);border-radius:var(--radius-md,8px);padding:12px 14px}.modal-footer{border-top:1px solid var(--border-medium,#ffffff14);background:#0d111780;justify-content:flex-end;align-items:center;gap:12px;padding:14px 24px;display:flex}.btn-modal-action{background:var(--color-primary,#3b82f6);color:#fff;border-radius:var(--radius-sm,6px);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 18px;font-size:12px;font-weight:600;transition:opacity .15s,transform .15s;display:flex}.btn-modal-action:hover{opacity:.9;transform:translateY(-1px)}.btn-modal-secondary{background:var(--bg-surface,#0d1117);color:var(--text-secondary);border:1px solid var(--border-medium,#ffffff1f);border-radius:var(--radius-sm,6px);cursor:pointer;padding:8px 16px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.btn-modal-secondary:hover{color:var(--text-primary);border-color:var(--text-muted)}.alert-toast.info{border-color:#38bdf8;box-shadow:0 8px 30px #38bdf859}.alert-toast.info .alert-toast-title{color:#38bdf8}.alert-toast.warning{border-color:#f59e0b;box-shadow:0 8px 30px #f59e0b59}.alert-toast.warning .alert-toast-title{color:#fbbf24}.alert-toast.attention{border-color:#f97316;box-shadow:0 8px 30px #f9731659}.alert-toast.attention .alert-toast-title{color:#fb923c}.alert-toast.critical{border-color:#ef4444;box-shadow:0 8px 30px #ef444466}.alert-toast.critical .alert-toast-title{color:#f87171}.alert-toast.entry{border-color:#00c087;animation:.35s cubic-bezier(.16,1,.3,1) slideInDown,2s infinite entryPulseGlow;box-shadow:0 0 35px #00c0878c}.alert-toast.entry .alert-toast-title{color:#00c087}.alert-toast.position{border-color:#a855f7;box-shadow:0 8px 30px #a855f759}.alert-toast.position .alert-toast-title{color:#c084fc}@keyframes entryPulseGlow{0%,to{box-shadow:0 0 25px #00c08766}50%{box-shadow:0 0 45px #00c087d9}}.alert-toast-tag{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.alert-toast-tag.entry{color:#00c087;background:#00c08733;border:1px solid #00c08766}.alert-toast-tag.critical{color:#ef4444;background:#ef444433;border:1px solid #ef444466}.alert-toast-tag.attention{color:#f97316;background:#f9731633;border:1px solid #f9731666}.alert-toast-tag.warning{color:#f59e0b;background:#f59e0b33;border:1px solid #f59e0b66}.alert-toast-tag.position{color:#a855f7;background:#a855f733;border:1px solid #a855f766}.alert-toast-tag.info{color:#38bdf8;background:#38bdf833;border:1px solid #38bdf866}.badge-count{color:#fff;background:#2563eb;border-radius:10px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.alert-config-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#161b22cc;padding:14px 16px}.alert-config-header{justify-content:space-between;align-items:center;display:flex}.switch-toggle{width:40px;height:22px;display:inline-block;position:relative}.switch-toggle input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#334155;border-radius:24px;transition:all .25s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .25s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background-color:#2563eb}input:checked+.slider:before{transform:translate(18px)}.alert-toggles-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=620px){.alert-toggles-grid{grid-template-columns:1fr}}.alert-toggle-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0d111799;align-items:flex-start;gap:10px;padding:8px 10px;transition:all .2s;display:flex}.alert-toggle-item:hover{background:#1e293b66;border-color:#38bdf866}.alert-toggle-item input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:2px}.alert-toggle-item .toggle-text{flex-direction:column;gap:2px;display:flex}.alert-toggle-item .toggle-title{color:var(--text-primary);font-size:12px;font-weight:600}.alert-toggle-item .toggle-desc{color:var(--text-muted);font-size:10.5px;line-height:1.25}.alert-feed-container{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#0d111799;flex-direction:column;gap:8px;max-height:240px;padding:8px;display:flex;overflow-y:auto}.alert-feed-item{border-radius:var(--radius-sm);background:#161b22b3;border-left:3px solid #64748b;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.alert-feed-item:hover{background:#21262de6}.alert-feed-item.entry{border-left-color:#00c087}.alert-feed-item.critical{border-left-color:#ef4444}.alert-feed-item.attention{border-left-color:#f97316}.alert-feed-item.warning{border-left-color:#f59e0b}.alert-feed-item.position{border-left-color:#a855f7}.alert-feed-item.info{border-left-color:#38bdf8}.alert-feed-time{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px}.alert-feed-title{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.alert-feed-desc{color:var(--text-secondary);font-size:11px;line-height:1.35}.alert-param-group{border-left:2px solid #3b82f666;padding-left:8px}.alerts-tab-pane{flex-direction:column;gap:16px;animation:.2s ease-in-out fadeIn;display:none}.alerts-tab-pane.active{display:flex}.alerts-hero-banner{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(135deg,#1e293bb3 0%,#0f172ae6 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;box-shadow:0 4px 20px #00000040}.alerts-hero-info h2{color:var(--text-primary);align-items:center;gap:8px;margin:0 0 4px;font-size:18px;font-weight:700;display:flex}.alerts-hero-info p{color:var(--text-secondary);margin:0;font-size:12px}.alerts-status-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pill{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#1e293bcc;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-flex}.status-pill.connected{color:#00c087;background:#00c08726;border-color:#00c08766}.status-pill.disconnected{color:#94a3b8;background:#64748b26;border-color:#64748b4d}.alerts-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}@media (width<=900px){.alerts-grid{grid-template-columns:1fr}}.alert-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#161b22d9;flex-direction:column;gap:14px;padding:16px 18px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.alert-card:hover{border-color:#3b82f666;box-shadow:0 4px 18px #0000004d}.alert-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.alert-card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.alert-card-desc{color:var(--text-secondary);margin-top:2px;font-size:11px;line-height:1.4}.rule-explainer-box{border-radius:var(--radius-sm);color:#cbd5e1;background:#1e293b99;border:1px solid #3b82f640;border-left:3px solid #3b82f6;padding:10px 12px;font-size:11px;line-height:1.45}.rule-explainer-box strong{color:#60a5fa}.tg-mockup-wrapper{border-radius:var(--radius-md);background:#0e1621;border:1px solid #2b527866;flex-direction:column;gap:10px;padding:14px;display:flex}.tg-mockup-header{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding-bottom:8px;display:flex}.tg-bot-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#00c087);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.tg-bubble{color:#e4ecf2;white-space:pre-line;background:#182533;border:1px solid #ffffff0d;border-radius:12px 12px 12px 4px;padding:12px 14px;font-size:12px;line-height:1.45;position:relative;box-shadow:0 2px 6px #0000004d}.tg-bubble-time{color:#6c7883;justify-content:flex-end;align-items:center;gap:4px;margin-top:6px;font-size:10px;display:flex}.filter-chips-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-chip{border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:#1e293b99;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.filter-chip:hover{color:var(--text-primary);background:#334155cc}.filter-chip.active{color:#60a5fa;background:#2563eb40;border-color:#2563eb}.alerts-lock-wrap{justify-content:center;align-items:center;width:100%;min-height:540px;padding:40px 16px;display:flex}.alerts-lock-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);text-align:center;background:#161b22d9;border:1px solid #3b82f659;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:36px 28px;animation:.25s ease-out modalFadeIn;display:flex;box-shadow:0 20px 40px #000000a6,0 0 25px #3b82f626}.lock-card-badge{margin-bottom:20px}.lock-card-icon-halo{color:#38bdf8;background:radial-gradient(circle,#3b82f640 0%,#0ea5e90d 70%);border:2px solid #3b82f673;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;animation:3s ease-in-out infinite pulseSecurityGlow;display:flex;box-shadow:0 0 20px #38bdf859}@keyframes pulseSecurityGlow{0%,to{transform:scale(1);box-shadow:0 0 15px #38bdf840}50%{transform:scale(1.04);box-shadow:0 0 28px #38bdf880}}.lock-card-title{color:#f1f5f9;margin-bottom:8px;font-size:18px;font-weight:700}.lock-card-desc{color:#94a3b8;margin-bottom:24px;font-size:12px;line-height:1.5}.lock-card-form{flex-direction:column;gap:14px;width:100%;display:flex}.lock-input-container{text-align:left;width:100%}.lock-card-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;text-align:left;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.lock-input-group{width:100%;position:relative}.lock-input-group input{border-radius:var(--radius-sm);color:#f1f5f9;background:#0d1117;border:1px solid #ffffff26;outline:none;width:100%;height:44px;padding:0 44px 0 14px;font-size:14px;transition:all .2s}.lock-input-group input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf82e}.lock-input-group .btn-toggle-pin{cursor:pointer;color:#94a3b8;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.lock-error-text{color:#f87171;border-radius:var(--radius-sm);text-align:left;background:#ef44441f;border:1px solid #ef44444d;align-items:center;gap:6px;padding:8px 12px;font-size:12px;line-height:1.4;display:flex}.btn-unlock-submit{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #2563eb66}.btn-unlock-submit:hover{filter:brightness(1.1);transform:translateY(-1px)}
