*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-tertiary: #1f2937;--bg-card: #1a1f2e;--accent-primary: #06b6d4;--accent-secondary: #8b5cf6;--accent-success: #10b981;--accent-danger: #ef4444;--accent-warning: #f59e0b;--accent-info: #3b82f6;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--border-color: #374151;--border-hover: #4b5563;--gradient-primary: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(6, 182, 212, .3);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root,.App{min-height:100vh;display:flex;flex-direction:column}.main-nav{position:fixed;top:0;left:0;right:0;background:rgba(17,24,39,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);z-index:1000;padding:var(--space-4) 0}.nav-container{max-width:1400px;margin:0 auto;padding:0 var(--space-6);display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:var(--space-3)}.nav-logo{color:var(--accent-primary);font-size:1.5rem;filter:drop-shadow(0 0 10px var(--accent-primary))}.nav-title{font-weight:700;font-size:1.3rem;color:var(--text-primary);letter-spacing:-.5px}.nav-links{display:flex;gap:var(--space-2)}.nav-link{padding:var(--space-3) var(--space-5);border:none;background:transparent;color:var(--text-secondary);font-weight:500;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-size:.95rem}.nav-link:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.nav-link.active{background:var(--accent-primary);color:var(--bg-primary);box-shadow:var(--shadow-glow)}.hero-header{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:80px}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0a0e1a 0%,#1a1f2e 50%,#0f172a 100%);z-index:1}.hero-background:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(6,182,212,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0%,transparent 50%)}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(6,182,212,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(6,182,212,.03) 1px,transparent 1px);background-size:50px 50px}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;max-width:1000px;padding:var(--space-8)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:rgba(6,182,212,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(6,182,212,.3);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-size:.875rem;font-weight:600;margin-bottom:var(--space-8);color:var(--accent-primary);text-transform:uppercase;letter-spacing:1px}.hero-title{font-size:clamp(2.5rem,6vw,5rem);font-weight:900;line-height:1.1;margin-bottom:var(--space-6);letter-spacing:-.03em}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-10);max-width:800px;margin-left:auto;margin-right:auto}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-8);max-width:800px;margin:0 auto var(--space-10)}.stat{text-align:center;padding:var(--space-4);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg)}.stat-number{font-size:2.5rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-2)}.stat-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.hero-controls{margin-top:var(--space-10);display:flex;justify-content:center}.control-panel{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.control-status{display:flex;align-items:center;gap:var(--space-3);color:var(--text-primary);font-weight:600}.status-indicator{width:12px;height:12px;border-radius:50%;background:var(--accent-danger);animation:pulse-slow 2s infinite}.status-indicator.running{background:var(--accent-success);box-shadow:0 0 10px var(--accent-success);animation:pulse-fast 1s infinite}@keyframes pulse-slow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@keyframes pulse-fast{0%,to{opacity:1}50%{opacity:.7}}.control-buttons{display:flex;gap:var(--space-3)}.control-btn{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem;display:flex;align-items:center;gap:var(--space-2)}.control-btn.start{background:var(--gradient-success);color:#fff}.control-btn.start:hover{transform:translateY(-2px);box-shadow:0 4px 15px #10b98166}.control-btn.stop{background:var(--gradient-danger);color:#fff}.control-btn.stop:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ef444466}.control-btn.refresh{background:rgba(255,255,255,.1);color:var(--text-primary);border:1px solid rgba(255,255,255,.2)}.control-btn.refresh:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}.main-content{flex:1;padding:var(--space-16) 0;background:var(--bg-primary);padding-top:calc(80px + var(--space-16))}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-6)}.section-title{font-size:2.5rem;font-weight:900;text-align:center;margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.section-subtitle{font-size:1.125rem;text-align:center;color:var(--text-secondary);margin-bottom:var(--space-12);max-width:700px;margin-left:auto;margin-right:auto}.strategies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:var(--space-6);margin-bottom:var(--space-16)}.strategy-card{background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease;border:1px solid var(--border-color);cursor:pointer}.strategy-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--accent-primary)}.strategy-card.active{border-color:var(--accent-primary);box-shadow:var(--shadow-glow)}.strategy-header{padding:var(--space-6);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.strategy-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-3);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-3)}.strategy-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius);color:#fff;font-weight:700;font-size:1.2rem}.strategy-description{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.strategy-content{padding:var(--space-6)}.strategy-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.metric{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.metric-value{font-size:1.5rem;font-weight:700;color:var(--accent-primary);margin-bottom:var(--space-1)}.metric-label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.strategy-features{list-style:none;margin-bottom:var(--space-6)}.strategy-features li{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;color:var(--text-secondary);font-size:.9rem}.strategy-features li:before{content:"▹";color:var(--accent-primary);font-weight:700;font-size:1.2rem}.strategy-actions{display:flex;gap:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-hover);transform:translateY(-1px)}.live-dashboard{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);margin-top:var(--space-8);overflow:hidden;border:1px solid var(--border-color)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.dashboard-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.status-badge{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600;padding:var(--space-2) var(--space-4);background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-full);color:var(--accent-success)}.status-dot{width:8px;height:8px;background:var(--accent-success);border-radius:50%;animation:pulse-fast 1s infinite}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);padding:var(--space-6)}.dashboard-card{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;border:1px solid var(--border-color);transition:all .2s ease}.dashboard-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.dashboard-card h4{font-size:.8rem;color:var(--text-muted);margin-bottom:var(--space-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.signal-value,.position-value{font-weight:700;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);text-align:center;font-size:1rem;display:inline-block}.signal-value.buy,.position-value.long{background:var(--gradient-success);color:#fff}.signal-value.sell,.position-value.short{background:var(--gradient-danger);color:#fff}.signal-value.hold{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.pnl-value{font-size:2rem;font-weight:900}.pnl-value.positive{color:var(--accent-success)}.pnl-value.negative{color:var(--accent-danger)}.positions-value{font-size:2rem;font-weight:900;color:var(--accent-primary)}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.trading-dashboard{padding-top:100px;padding-bottom:var(--space-16);background:var(--bg-primary);min-height:100vh}.dashboard-main-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-8);box-shadow:var(--shadow-lg)}.dashboard-main-header h2{font-size:2.5rem;font-weight:900;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:var(--space-3)}.dashboard-subtitle{color:var(--text-secondary);font-size:1.1rem}.dashboard-controls{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.dashboard-grid-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:var(--space-6)}.portfolio-card,.recommendations-card,.backtest-card,.trade-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--border-color)}.card-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.portfolio-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.portfolio-metric{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-4)}.portfolio-metric-label{font-size:.8rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.portfolio-metric-value{font-size:1.8rem;font-weight:900;color:var(--accent-primary)}.recommendations-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:500px;overflow-y:auto;padding-right:var(--space-2)}.recommendations-list::-webkit-scrollbar{width:6px}.recommendations-list::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.recommendations-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.recommendations-list::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.recommendation-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-4);align-items:center;padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all .2s ease}.recommendation-item:hover{transform:translate(4px);border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.stock-info{display:flex;flex-direction:column;gap:var(--space-1)}.stock-symbol{font-size:1.2rem;font-weight:700;color:var(--accent-primary);font-family:var(--font-mono)}.stock-name{font-size:.85rem;color:var(--text-muted)}.stock-price{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.stock-metrics{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.metric-row{display:flex;justify-content:space-between;font-size:.85rem;gap:var(--space-3)}.metric-row span:first-child{color:var(--text-muted);font-weight:500}.metric-row span:last-child{font-weight:600;color:var(--text-primary)}.change-value{font-weight:700;font-size:1rem}.change-value.positive{color:var(--accent-success)}.change-value.negative{color:var(--accent-danger)}.recommendation-badge{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);color:#fff;font-weight:700;font-size:.85rem;text-align:center;min-width:90px;text-transform:uppercase;letter-spacing:.5px}.recommendation-badge.strong-buy{background:var(--gradient-success)}.recommendation-badge.buy{background:linear-gradient(135deg,#34d399 0%,#10b981 100%)}.recommendation-badge.hold{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.recommendation-badge.sell{background:linear-gradient(135deg,#f87171 0%,#ef4444 100%)}.recommendation-badge.strong-sell{background:var(--gradient-danger)}.trade-btn{padding:var(--space-2) var(--space-4);background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.trade-btn:hover{background:#0891b2;transform:scale(1.05)}.trade-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:600;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #06b6d41a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-8);max-width:500px;width:90%;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:var(--accent-primary);font-size:1.8rem;font-weight:700;margin-bottom:var(--space-6)}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6)}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-8) 0;margin-top:auto}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.footer-brand{flex:1}.footer-logo{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:var(--space-2)}.footer-brand p{color:var(--text-secondary);font-size:.9rem}.footer-links{display:flex;gap:var(--space-6)}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease;font-weight:500}.footer-link:hover{color:var(--accent-primary)}.footer-bottom{padding-top:var(--space-6);border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);font-size:.875rem}.footer-bottom strong{color:var(--text-primary)}.loading-content{padding:var(--space-12);text-align:center;color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.backtest-metrics{display:flex;flex-direction:column;gap:var(--space-3)}.backtest-metric{display:flex;justify-content:space-between;padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius);border-left:3px solid var(--accent-primary)}.backtest-metric-label{color:var(--text-secondary);font-weight:500}.backtest-metric-value{font-weight:700;color:var(--text-primary)}@media (max-width: 1024px){.strategies-grid,.dashboard-grid-main{grid-template-columns:1fr}}@media (max-width: 768px){.hero-content{padding:var(--space-6)}.hero-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.nav-links{flex-direction:column;width:100%}.control-panel{width:100%}.control-buttons{width:100%;flex-direction:column}.control-btn{width:100%}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.strategy-metrics{grid-template-columns:1fr}.recommendation-item{grid-template-columns:1fr;gap:var(--space-3)}.footer-content{flex-direction:column;gap:var(--space-6);text-align:center}}@media (max-width: 480px){.hero-stats,.dashboard-grid,.portfolio-metrics{grid-template-columns:1fr}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.positive{color:var(--accent-success)}.negative{color:var(--accent-danger)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease forwards}
