@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap";html{font-size:15px}:root{--up-color:#3f7665;--up-bg:#3f76651c;--up-glow:#3f76652e;--down-color:#c65d4b;--down-bg:#c65d4b1c;--down-glow:#c65d4b2e;--neutral-color:#6f7880;--neutral-bg:#6f78801a;--baseline-better-color:#34d399;--baseline-better-bg:#34d3991f;--baseline-worse-color:#f87171;--baseline-worse-bg:#f871711f;--baseline-indistinguishable-color:#94a3b8;--baseline-indistinguishable-bg:#94a3b814;--accent-brand:#b9684e;--accent-brand-hover:#97513d;--accent-glow:#b9684e38;--bg-primary:#151719;--bg-secondary:#1d2022;--bg-card:#202427;--bg-card-hover:#272c2e;--bg-input:#191c1e;--border-color:#343a3b;--border-color-hover:#4a5150;--border-accent:#b9684e73;--text-primary:#eee9df;--text-secondary:#a7a39b;--text-muted:#6f7674;--text-mono:"Space Mono", monospace;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.5}body{background:radial-gradient(ellipse 55% 35% at 100% 0%, #b9684e14 0%, transparent 70%), radial-gradient(ellipse 45% 35% at 0% 100%, #3f76650f 0%, transparent 65%), var(--bg-primary);background-attachment:fixed;min-height:100vh;margin:0}body:before,.simple-mode body:before{display:none}.simple-mode .card{box-shadow:0 1px 8px #0f172a0f,0 0 0 1px #0000000a}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.6)}}@keyframes scan-line{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes number-tick{0%,to{opacity:1}40%{opacity:.7}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px var(--accent-glow)}50%{box-shadow:0 0 20px var(--accent-glow), 0 0 40px #3b82f61a}}@keyframes border-shimmer{0%{border-color:#3b82f626}50%{border-color:#3b82f673}to{border-color:#3b82f626}}@keyframes float-up-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spinner{to{transform:rotate(360deg)}}@keyframes ticker-flash{0%,to{opacity:1}30%{opacity:.5}}.container{box-sizing:border-box;z-index:1;flex-direction:column;gap:1.25rem;width:100%;max-width:1600px;margin:0 auto;padding:1.5rem 1.25rem;animation:.4s both fade-in-up;display:flex;position:relative}.main-layout{grid-template-columns:1fr;gap:1.25rem;display:grid}.main-layout>*{min-width:0}@media (width>=1024px){.main-layout{grid-template-columns:270px 1fr;transition:grid-template-columns .3s}.main-layout.sidebar-collapsed{grid-template-columns:48px 1fr}}.sidebar{scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box;flex-direction:column;align-self:start;gap:1.2rem;max-height:calc(100vh - 3rem);padding:0 .5rem;display:flex;position:sticky;top:1.5rem;overflow-y:auto}.sidebar::-webkit-scrollbar{display:none}.content-area{flex-direction:column;gap:1rem;min-width:0;display:flex}.sidebar-icon-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.sidebar-icon-btn:hover{color:var(--text-primary);background:#ffffff1a}.sidebar-collapse-btn{z-index:2;opacity:0;width:32px;height:32px;padding:0;transition:opacity .18s,color .18s;position:absolute;top:.45rem;right:-.25rem}.sidebar:hover .sidebar-collapse-btn,.sidebar-collapse-btn:focus-visible{opacity:1}@media (width<=1023px){.sidebar{max-height:none;padding:0;position:static;overflow:visible}}.header{border-bottom:1px solid var(--border-color);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:1rem;display:flex;position:relative}@media (width>=640px){.header{flex-direction:row;align-items:center}}.header-title h1{letter-spacing:-.03em;color:var(--text-primary);margin:0;font-family:DM Sans,sans-serif;font-size:1.55rem;font-weight:700}.simple-mode .header-title h1{background:linear-gradient(135deg,#0f172a 0%,#2563eb 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-title p{color:var(--text-secondary);font-size:.9rem;font-family:var(--text-mono);letter-spacing:.02em;margin:.15rem 0 0}.header-buttons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.header-buttons>.btn{white-space:nowrap}.mode-switch{flex:none}@media (width<=639px){.header-buttons{justify-content:flex-start;width:100%}.header-buttons>.btn{flex:auto;justify-content:center}}.btn{cursor:pointer;letter-spacing:.01em;border:1px solid #0000;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;transition:all .18s;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent-brand);color:#fff;border-color:var(--accent-brand)}.btn-primary:hover{background:var(--accent-brand-hover);box-shadow:0 0 16px var(--accent-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover)}.simple-mode .btn-secondary{color:#0f172a;background:#fff;border-color:#d1d5db}.simple-mode .btn-secondary:hover{background:#f8fafc;border-color:#94a3b8}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;transition:border-color .25s,box-shadow .25s;animation:.35s both float-up-in;box-shadow:0 8px 24px #00000038}.card:hover{border-color:var(--border-color-hover)}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.6rem;display:flex}.card-header h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:.4rem;margin:0;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;display:flex}.banner{border:1px solid #0000;border-radius:3px;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.banner-error{color:#fda4af;background:#f43f5e0d;border-color:#f43f5e40}.simple-mode .banner-error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.banner-guide{color:var(--text-secondary);background:#3b82f60a;border-color:#3b82f633}.simple-mode .banner-guide{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.banner-guide-grid{grid-template-columns:1fr;gap:.75rem;margin-top:.5rem;display:grid}@media (width>=640px){.banner-guide-grid{grid-template-columns:repeat(3,1fr)}}.header-card{border:1px solid var(--border-color);background:#ffffff08;border-radius:4px;flex-direction:column;min-width:85px;padding:.3rem .6rem;display:flex}.header-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.1rem;font-size:.95rem;font-weight:700}.header-card-value{font-size:.95rem;font-weight:700;font-family:var(--text-mono)}.simple-mode .header-card{background:#f8fafc;border-color:#e2e8f0}.simple-mode .header-card-label{color:#64748b}.simple-mode .header-card-value{color:#0f172a}.header-card{cursor:help;position:relative}.header-card .header-tooltip{visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;pointer-events:none;text-align:left;background:#0f172af5;border:1px solid #ffffff26;border-radius:6px;width:250px;padding:.6rem .8rem;transition:opacity .2s,transform .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(8px);box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080}.simple-mode .header-card .header-tooltip{background:#fff;border:1px solid #e2e8f0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.header-card:hover .header-tooltip{visibility:visible;opacity:1;transform:translate(-50%)translateY(4px)}@media (width<=639px){.container{padding-inline:.75rem}.header-card .header-tooltip{width:min(250px,100vw - 1.5rem);max-width:calc(100vw - 1.5rem)}}.header-tooltip-title{color:#38bdf8;text-transform:uppercase;margin-bottom:.2rem;font-size:.84rem;font-weight:700;display:block}.simple-mode .header-tooltip-title{color:#2563eb}.header-tooltip-desc{color:#e2e8f0;margin-bottom:.4rem;font-size:.78rem;line-height:1.35;display:block}.simple-mode .header-tooltip-desc{color:#334155}.header-tooltip-example{color:#94a3b8;border-top:1px solid #ffffff14;padding-top:.3rem;font-size:.72rem;font-style:italic;line-height:1.3;display:block}.simple-mode .header-tooltip-example{color:#64748b;border-top:1px solid #f1f5f9}.widget-card-container{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 5px 18px #4a3d2d0f}.widget-drag-handle{border-bottom:1px solid var(--border-color);cursor:grab;background-color:#1b1f21;justify-content:space-between;align-items:center;padding:.35rem .5rem;display:flex}.widget-drag-handle:active{cursor:grabbing}.widget-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:.15rem;display:flex}.widget-close-btn:hover{color:#f43f5e;background-color:#f43f5e1a}.widget-content-scrollable{flex:1;position:relative;overflow:auto}.widget-content-scrollable>.card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;height:100%;margin:0}.react-grid-item.react-grid-placeholder{border-radius:3px;background:#3b82f61a!important;border:1px dashed #3b82f680!important}.slider-group{margin-bottom:1rem}.slider-header{color:var(--text-secondary);font-size:.87rem;font-family:var(--text-mono);justify-content:space-between;margin-bottom:.35rem;display:flex}.slider-header .value{color:var(--accent-brand);font-weight:600}.slider-input{-webkit-appearance:none;background:linear-gradient(to right, var(--accent-brand) 0%, #3b82f633 0%);cursor:pointer;border-radius:2px;outline:none;width:100%;height:3px;transition:background .2s}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--accent-brand);cursor:pointer;width:14px;height:14px;box-shadow:0 0 8px var(--accent-glow);background:#fff;border-radius:50%;transition:transform .15s}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.badge-group{flex-wrap:wrap;gap:.35rem;display:flex}.badge-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600;font-family:var(--text-mono);background:#ffffff08;border-radius:2px;padding:.2rem .55rem;transition:all .15s}.badge-btn:hover{border-color:var(--accent-brand);color:var(--accent-brand)}.badge-btn-active{border-color:var(--accent-brand);color:var(--accent-brand);background:#3b82f61f}.status-grid{grid-template-columns:1fr;gap:.4rem;display:grid}.status-item{border:1px solid var(--border-color);font-size:.82rem;font-family:var(--text-mono);background:#ffffff05;border-radius:2px;justify-content:space-between;align-items:center;padding:.5rem .65rem;display:flex}.simple-mode .status-item{background:#f8fafc;border-color:#e2e8f0}.status-name{color:var(--text-secondary)}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.1rem .35rem;font-size:.95rem;font-weight:700}.status-online{color:#10b981;background:#10b98126}.status-offline{color:#f43f5e;background:#f43f5e26}.status-unknown{color:#94a3b8;background:#94a3b81a}.status-warning{color:#f59e0b;background:#f59e0b26}.snapshot-grid{flex-direction:column;gap:.35rem;display:flex}.snapshot-box{border:1px solid var(--border-color);background:#ffffff0a;border-radius:4px;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .2s;display:flex}.snapshot-box:hover{border-color:var(--border-color-hover)}.simple-mode .snapshot-box{background:#f8fafc;border-color:#e2e8f0}.snapshot-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.82rem;font-weight:700;font-family:var(--text-mono);white-space:nowrap;flex-shrink:0}.simple-mode .snapshot-label{color:#64748b}.snapshot-val{font-size:.95rem;font-weight:800;font-family:var(--text-mono);color:var(--text-primary);text-align:right;animation:.4s ticker-flash}.simple-mode .snapshot-val{color:#0f172a}.projection-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.projection-card{border:1px solid var(--border-color);text-align:center;cursor:default;border-radius:2px;padding:1rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.projection-card:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff08 0%,#0000 60%);position:absolute;inset:0}.projection-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.projection-card-label{text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;font-weight:800;font-family:var(--text-mono)}.projection-card-val{letter-spacing:-.02em;margin:.35rem 0 .15rem;font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800;line-height:1}.projection-card-sub{color:var(--text-secondary);font-size:.95rem;font-family:var(--text-mono)}.proj-down{background:var(--down-bg);border-color:#f43f5e2e}.proj-down .projection-card-label,.proj-down .projection-card-val{color:var(--down-color)}.proj-sideways{background:var(--neutral-bg)}.proj-sideways .projection-card-label{color:var(--neutral-color)}.proj-sideways .projection-card-val{color:var(--text-primary)}.proj-up{background:var(--up-bg);border-color:#10b9812e}.proj-up .projection-card-label,.proj-up .projection-card-val{color:var(--up-color)}.setup-action-grid{grid-template-columns:1fr;gap:.5rem;margin-bottom:.7rem;display:grid}.setup-action-grid .btn{white-space:normal;text-align:center;justify-content:center;width:100%;min-width:0}.probability-bar-container{background:#ffffff0d;border-radius:2px;width:100%;height:5px;margin:.85rem 0 .4rem;display:flex;overflow:hidden}.probability-bar-down{background:var(--down-color);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.probability-bar-sideways{background:var(--neutral-color);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1) .1s}.probability-bar-up{background:var(--up-color);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1) .2s}.badge-beats-naive{text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;font-weight:700;font-family:var(--text-mono);border:1px solid #0000;border-radius:2px;padding:.15rem .45rem}.badge-better{background:var(--baseline-better-bg);color:var(--baseline-better-color);border-color:#34d3994d}.badge-worse{background:var(--baseline-worse-bg);color:var(--baseline-worse-color);border-color:#f871714d}.badge-indistinguishable{background:var(--baseline-indistinguishable-bg);color:var(--baseline-indistinguishable-color);border-color:#94a3b833}.info-tooltip-trigger{cursor:pointer;color:var(--text-secondary);align-items:center;transition:color .15s;display:inline-flex}.info-tooltip-trigger:hover{color:var(--text-primary)}.term-explainer-inline{color:var(--text-secondary);border:1px solid var(--border-color);background:#0f172ae6;border-radius:2px;margin-top:.25rem;padding:.3rem .5rem;font-size:.82rem;animation:.15s fade-in-up}.simple-mode .term-explainer-inline{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.strategy-grid{grid-template-columns:1fr;gap:.6rem;display:grid}@media (width>=640px){.strategy-grid{grid-template-columns:1fr 1fr}}.strategy-box{border:1px solid var(--border-color);background:#ffffff05;border-radius:2px;padding:.75rem;transition:border-color .2s}.strategy-box:hover{border-color:var(--border-color-hover)}.simple-mode .strategy-box{background:#f8fafc;border-color:#e2e8f0}.strategy-box-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.07em;font-size:.95rem;font-weight:700;font-family:var(--text-mono);margin-bottom:.2rem;display:block}.strategy-box-action{font-size:.8rem;font-weight:700}.strategy-box-desc{color:var(--text-secondary);margin-top:.2rem;font-size:.87rem}.friendly-badge{text-align:center;letter-spacing:-.01em;border:1px solid #0000;border-radius:2px;width:100%;padding:1.5rem;font-size:1.35rem;font-weight:800;animation:.4s both float-up-in}.friendly-up{background:var(--up-bg);color:var(--up-color);border-color:#10b9814d}.friendly-down{background:var(--down-bg);color:var(--down-color);border-color:#f43f5e4d}.friendly-neutral{background:var(--neutral-bg);color:var(--neutral-color);border-color:var(--border-color)}.empty-chart-container{border:1px dashed var(--border-color);height:160px;color:var(--text-muted);background:#ffffff03;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.87rem;display:flex}.sidebar .friendly-badge{letter-spacing:normal;box-sizing:border-box;padding:.85rem .5rem;font-size:.85rem}.sidebar .friendly-badge svg{width:14px;height:14px}.sidebar .card-header{border-bottom:1px solid var(--border-color);flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:.75rem;padding-bottom:.5rem}.sidebar .card-header h2{font-size:.87rem}.sidebar .projection-grid{grid-template-columns:1fr;gap:.4rem}.sidebar .projection-card{padding:.5rem}.sidebar .projection-card-val{font-size:1.1rem}.sidebar .advanced-indicators-grid{grid-template-columns:1fr}.chart-shell{background:#0a0d12;border:1px solid #242a32;border-radius:10px;margin-top:1rem;animation:none;overflow:hidden}.simple-mode .chart-shell{background:#fff;border-color:#e2e8f0;animation:none}.chart-controls{background:#10151b;border-bottom:1px solid #242a32;flex-direction:column;flex-shrink:0;display:flex}.chart-controls__row{flex-wrap:wrap;align-items:center;gap:.3rem;padding:.38rem .75rem;display:flex}.chart-controls__row--tf{border-bottom:1px solid #ffffff0a}.chart-controls__label{text-transform:uppercase;color:var(--text-muted);font-size:.96rem;font-weight:600;font-family:var(--text-mono)}.chart-controls__sublabel{color:var(--text-muted);font-size:.95rem;font-family:var(--text-mono);margin:0 .1rem 0 .25rem}.chart-controls__group{align-items:center;gap:.2rem;display:flex}.tf-pill,.indicator-pill{font-size:.82rem;font-weight:600;font-family:var(--text-mono);cursor:pointer;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:3px;padding:.18rem .55rem;transition:all .15s}.indicator-pill{background:#ffffff0a;border-color:#ffffff14}.tf-pill:hover,.indicator-pill:hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff1a}.tf-pill--active{color:var(--accent-brand);background:#3b82f626;border-color:#3b82f680}.indicator-pill--active{font-weight:700}.ohlc-bar{font-family:var(--text-mono);background:#10151b;border-bottom:1px solid #242a32;flex-wrap:wrap;align-items:center;gap:1rem;min-height:30px;padding:.45rem .75rem;font-size:.87rem;display:flex}.simple-mode .ohlc-bar{background:#f8fafc;border-color:#e2e8f0}.ohlc-pair{color:var(--text-primary);font-size:.9rem;font-weight:700}.ohlc-price{font-size:1rem;font-weight:700;animation:.3s ticker-flash}.ohlc-change{font-size:.84rem;font-weight:600}.ohlc-cell{color:var(--text-secondary);font-size:.82rem}.ohlc-label{color:var(--text-muted);margin-right:.25rem;font-weight:700}.crosshair-tooltip{z-index:10;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-sizing:border-box;background:#0a0c10eb;border:1px solid #ffffff1a;border-radius:4px;min-width:0;max-width:calc(100% - 1rem);padding:.35rem .6rem;animation:.1s fade-in-up;position:absolute;top:8px;left:8px;box-shadow:0 4px 16px #00000080}.crosshair-tooltip__time{color:var(--text-muted);font-size:.95rem;font-family:var(--text-mono);border-bottom:1px solid #ffffff0f;margin-bottom:.3rem;padding-bottom:.25rem;display:block}.crosshair-tooltip__ohlc{align-items:center;gap:.65rem;display:flex}.crosshair-tooltip__cell{align-items:baseline;gap:.2rem;display:flex}.crosshair-tooltip__key{font-family:var(--text-mono);color:var(--text-muted);font-size:.95rem}.crosshair-tooltip__val{font-family:var(--text-mono);color:var(--text-primary);font-size:.88rem}.crosshair-tooltip__change{font-family:var(--text-mono);margin-left:auto;font-size:.82rem}.indicator-legend{z-index:9;pointer-events:none;gap:.5rem;max-width:calc(100% - 70px);display:flex;position:absolute;top:8px;right:60px;overflow:hidden}.indicator-legend__item{font-size:.95rem;font-family:var(--text-mono);color:var(--leg-color,var(--text-secondary));border-left:2px solid var(--leg-color,#fff3);background:#0a0c1099;border-radius:3px;align-items:center;gap:.3rem;padding:.15rem .4rem;display:flex}.indicator-legend__swatch{background:var(--leg-color,var(--text-secondary));width:14px;height:2px}.indicator-legend__swatch--dashed{background:repeating-linear-gradient(90deg, var(--leg-color) 0px, var(--leg-color) 4px, transparent 4px, transparent 6px)}.chart-overlay{z-index:2;background:#080a0fcc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-loading-spinner{border:2px solid #3b82f633;border-top-color:var(--accent-brand);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spinner}.rsi-panel{flex-direction:column;flex-shrink:0;display:flex}.rsi-panel__handle{cursor:row-resize;background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);height:5px}.rsi-panel__handle:hover{background:#3b82f626}.rsi-panel__label{font-size:.95rem;font-family:var(--text-mono);color:var(--text-muted);background:#0003;padding:.2rem .75rem}.rsi-panel__ob{color:#f43f5ed9}.rsi-panel__os{color:#10b981d9}.chart-live-badge{font-family:var(--text-mono);color:var(--text-muted);text-transform:uppercase;align-items:center;gap:.35rem;font-size:.95rem;display:flex}.live-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 6px #10b98199}.btn-recalibrate{background:var(--accent-brand);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.65rem;font-size:.9rem;font-weight:700;transition:all .2s}.btn-recalibrate:hover{box-shadow:0 0 20px var(--accent-glow);transform:translateY(-1px)}.btn-recalibrate:disabled{opacity:.5;cursor:not-allowed;transform:none}.train-progress{background:#3b82f61a;width:100%;height:2px;margin-top:.5rem;overflow:hidden}.train-progress-bar{background:linear-gradient(90deg, var(--accent-brand), #60a5fa);width:40%;height:100%;animation:1.5s linear infinite scan-line}.footer-text{color:var(--text-muted);text-align:center;font-size:.82rem;font-family:var(--text-mono)}.animate-spin{animation:1s linear infinite spinner}.term-explainer{color:var(--text-secondary);border:1px solid var(--border-color);background:#0f172af2;border-radius:2px;margin-left:.5rem;padding:.3rem .5rem;font-size:.82rem;display:inline-block}.simple-mode .term-explainer{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.train-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060ca6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.train-modal{background:#0d1117;border:1px solid #3b82f659;border-radius:6px;width:min(420px,100vw - 2rem);overflow:hidden;box-shadow:0 24px 64px #0009}.simple-mode .train-modal{background:#fff;border-color:#cbd5e1;box-shadow:0 8px 40px #0f172a26}.train-modal-header{background:#ffffff05;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.simple-mode .train-modal-header{background:#f8fafc;border-color:#e2e8f0}.train-modal-title{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.train-modal-pulse{background:var(--accent-brand);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-dot;box-shadow:0 0 8px #3b82f699}.train-modal-actions{gap:.25rem;display:flex}.train-modal-btn{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff12;border-radius:4px;justify-content:center;align-items:center;display:flex}.train-modal-btn:hover{color:var(--text-primary);background:#ffffff14}.simple-mode .train-modal-btn{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.train-modal-progressbar{background:#ffffff0a;height:3px;overflow:hidden}.simple-mode .train-modal-progressbar{background:#e2e8f0}.train-modal-progressbar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);height:100%;transition:width .6s}.train-modal-progressbar-fill.done{background:linear-gradient(90deg, var(--up-color), #34d399)}.train-modal-progressbar-fill.failed{background:linear-gradient(90deg, var(--down-color), #fb7185)}.train-modal-steps{flex-direction:column;gap:.45rem;padding:.75rem 1rem;display:flex}.train-modal-step{font-size:.88rem;font-family:var(--text-mono);border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.train-modal-step--active{background:#3b82f614;border:1px solid #3b82f62e}.train-modal-step--done{opacity:.75}.train-modal-step--pending{opacity:.35}.train-modal-step--error{background:#f43f5e14;border:1px solid #f43f5e33}.simple-mode .train-modal-step--active{background:#2563eb0f;border-color:#2563eb33}.train-modal-step-label{color:var(--text-primary);flex:1}.train-modal-step--done .train-modal-step-label{color:var(--text-secondary)}.train-modal-step--pending .train-modal-step-label{color:var(--text-muted)}.train-modal-step-time{color:var(--text-muted);font-size:.82rem;font-family:var(--text-mono);margin-left:auto}.train-modal-spin{animation:.9s linear infinite spinner}.train-modal-footer{background:#ffffff04;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.simple-mode .train-modal-footer{background:#f8fafc;border-color:#e2e8f0}.train-modal-footer-note{color:var(--text-muted);font-size:.84rem;font-family:var(--text-mono);flex:1}.blink{animation:1.2s infinite number-tick}.train-modal-hide-btn{color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;padding:.3rem .7rem;font-size:.84rem;font-weight:600}.train-modal-hide-btn:hover{color:var(--text-primary);background:#ffffff1a}.simple-mode .train-modal-hide-btn{color:#475569;background:#f1f5f9;border-color:#cbd5e1}.train-modal-pill{bottom:max(1.5rem, env(safe-area-inset-bottom));right:max(1.5rem, env(safe-area-inset-right));z-index:9999;color:var(--text-secondary);cursor:pointer;background:#0d1117;border:1px solid #10b98159;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .75rem .45rem .6rem;font-size:.88rem;font-weight:600;display:flex;position:fixed;box-shadow:0 4px 20px #0006}.train-modal-pill:hover{color:var(--text-primary);border-color:#10b98199}.simple-mode .train-modal-pill{color:#0f172a;background:#fff;border-color:#a7f3d0}.train-modal-pill-hide{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.train-modal-pill-hide:hover{color:var(--down-color);background:#f43f5e26}.simple-mode .train-modal-pill-hide{color:#94a3b8;background:#f1f5f9;border-color:#e2e8f0}@media (width<=639px){.train-modal-footer{flex-wrap:wrap;align-items:flex-start}.train-modal-footer-note{min-width:0}.train-modal-pill{left:.75rem;right:.75rem;bottom:max(.75rem, env(safe-area-inset-bottom));justify-content:space-between}}.adv-indicators{margin-top:1.25rem;animation:.25s both fade-in-up}.indicator-group{margin-bottom:.85rem}.indicator-group-header{border-left:2px solid var(--accent-brand);align-items:center;gap:.45rem;margin-bottom:.5rem;padding-left:.5rem;display:flex}.indicator-group-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.95rem;font-weight:700;font-family:var(--text-mono)}.indicator-card-grid{grid-template-columns:repeat(2,1fr);gap:.45rem;display:grid}@media (width>=420px){.indicator-card-grid--3{grid-template-columns:repeat(3,1fr)}.indicator-card-grid--4{grid-template-columns:repeat(4,1fr)}}@media (width>=640px){.indicator-card-grid--2{grid-template-columns:repeat(2,1fr)}}.ind-card{border:1px solid var(--border-color);background:#ffffff05;border-radius:3px;flex-direction:column;gap:.15rem;padding:.6rem .65rem;transition:border-color .2s;display:flex;position:relative}.ind-card:hover{border-color:var(--border-color-hover)}.ind-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.95rem;font-weight:700;font-family:var(--text-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ind-value{font-size:.82rem;font-weight:700;font-family:var(--text-mono);color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:.3rem;line-height:1.1;display:flex}.ind-value--up{color:var(--up-color)}.ind-value--down{color:var(--down-color)}.ind-value--na{color:var(--text-muted);font-size:.9rem}.ind-trend{vertical-align:middle;font-size:.82rem;font-weight:700}.ind-trend--up{color:var(--up-color)}.ind-trend--down{color:var(--down-color)}.ind-trend--flat{color:var(--text-muted)}.ind-gloss{color:var(--text-secondary);margin-top:.1rem;font-size:.96rem;line-height:1.4}.ind-info{border-top:1px solid var(--border-color);margin-top:.3rem;padding-top:.2rem}.ind-info summary{cursor:pointer;color:var(--text-muted);font-size:.95rem;font-family:var(--text-mono);-webkit-user-select:none;user-select:none;align-items:center;gap:.25rem;padding:.15rem 0;list-style:none;display:flex}.ind-info summary::-webkit-details-marker{display:none}.ind-info summary:before{content:"⊕";color:var(--accent-brand);font-size:.87rem;transition:transform .15s}.ind-info[open] summary:before{content:"⊖"}.ind-info-body{color:var(--text-secondary);border:1px solid var(--border-color);background:#0f172ad9;border-radius:2px;margin-top:.2rem;padding:.4rem .5rem;font-size:.82rem;line-height:1.55;animation:.15s fade-in-up}.simple-mode .ind-info-body{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.adv-indicators-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;font-size:.95rem;font-weight:700;font-family:var(--text-mono);margin-bottom:.75rem}.ind-loading,.ind-error{font-size:.84rem;font-family:var(--text-mono);letter-spacing:.03em;border-radius:4px;grid-column:1/-1;padding:.5rem .6rem}.ind-loading{color:var(--text-secondary);background:#ffffff08;animation:1.5s ease-in-out infinite pulse}.ind-error{color:var(--danger,#f87171);background:#f8717114;border:1px solid #f8717140}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}
