*{box-sizing:border-box;margin:0;padding:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}body{color:#00ff41;background:#0a0a0a;font-size:15px;font-weight:400;line-height:1.6}.app{background:#0a0a0a;min-height:100vh}.container{max-width:1400px;min-height:100vh;margin:0 auto;padding:40px}.header{border-bottom:2px solid #00ff41;justify-content:space-between;align-items:center;margin-bottom:50px;padding:30px 0;display:flex}.header h1{color:#00ff41;text-shadow:0 0 10px #00ff4180;letter-spacing:2px;margin:0;font-size:42px;font-weight:700}.header p{color:#00ff41;opacity:.6;letter-spacing:1px;margin:0;font-size:13px}.loading{background:#111;border:1px solid #00ff41;flex-direction:column;align-items:center;gap:30px;margin:40px 0;padding:40px;display:flex}.matrix-loader{align-items:flex-end;gap:8px;height:60px;display:flex}.matrix-loader .bar{background:#00ff41;width:6px;animation:1.2s ease-in-out infinite matrix-pulse;box-shadow:0 0 10px #00ff41cc}.matrix-loader .bar:first-child{animation-delay:0s}.matrix-loader .bar:nth-child(2){animation-delay:.15s}.matrix-loader .bar:nth-child(3){animation-delay:.3s}.matrix-loader .bar:nth-child(4){animation-delay:.45s}.matrix-loader .bar:nth-child(5){animation-delay:.6s}@keyframes matrix-pulse{0%,to{opacity:.3;height:10px}50%{opacity:1;height:60px}}.loading p{color:#00ff41;letter-spacing:2px;margin:0;font-size:16px;animation:1.5s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.error{background:#1a0000;border:1px solid red;margin:40px 0;padding:30px}.error h3{color:red;letter-spacing:1px;margin:0 0 15px;font-size:20px}.error p{color:#f66;margin:0;font-size:15px;line-height:1.6}.trading-input{background:#111;border:1px solid #00ff41;margin-bottom:40px;padding:35px}.input-wrapper{margin-bottom:30px}.input-wrapper textarea{color:#00ff41;resize:vertical;background:#0a0a0a;border:1px solid #00ff41;width:100%;min-height:120px;margin-bottom:18px;padding:18px;font-size:16px;line-height:1.6}.input-wrapper textarea:focus{border:1px solid #00ff41;outline:none;box-shadow:0 0 10px #00ff414d}.input-wrapper textarea::placeholder{color:#00ff41;opacity:.4}.input-wrapper button{color:#0a0a0a;letter-spacing:2px;cursor:pointer;text-transform:uppercase;background:#00ff41;border:1px solid #00ff41;padding:14px 40px;font-size:13px;font-weight:700;transition:all .2s}.input-wrapper button:hover{color:#00ff41;background:#0a0a0a;box-shadow:0 0 20px #00ff4166}.input-wrapper button:disabled{opacity:.3;cursor:not-allowed}.button-row{gap:12px;display:flex}.generate-btn{color:#00ff41;letter-spacing:2px;cursor:pointer;text-transform:uppercase;background:#0a0a0a;border:1px solid #00ff41;padding:14px 40px;font-size:13px;font-weight:700;transition:all .2s}.generate-btn:hover:not(:disabled){color:#0a0a0a;background:#00ff41;box-shadow:0 0 20px #00ff4166}.generate-btn:disabled{opacity:.3;cursor:not-allowed}.generate-alpha-btn{font-weight:700;color:#0a0a0a!important;opacity:1!important;background:#00ff41!important}.generate-alpha-btn:hover:not(:disabled){box-shadow:0 0 15px #00ff4180;color:#00ff41!important;background:#0a0a0a!important}.generate-alpha-btn:disabled{opacity:.5!important}.examples{border-top:1px solid #00ff41;margin-top:25px;padding-top:25px}.examples p{text-transform:uppercase;letter-spacing:2px;color:#00ff41;opacity:.6;margin-bottom:15px;font-size:11px}.example-buttons{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.example-btn{color:#00ff41;text-align:left;cursor:pointer;opacity:.7;background:#0a0a0a;border:1px solid #00ff41;padding:12px 16px;font-size:12px;transition:all .2s}.example-btn:hover{color:#0a0a0a;opacity:1;background:#00ff41;transform:translate(4px)}.example-btn:disabled{opacity:.2;cursor:not-allowed;transform:none}.trading-plan{margin:40px 0}.plan-header{border-bottom:2px solid #00ff41;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:25px;display:flex}.plan-header h2{letter-spacing:2px;color:#00ff41;text-shadow:0 0 10px #00ff4180;margin:0;font-size:36px;font-weight:700}.badges{gap:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:1.5px;color:#00ff41;background:#0a0a0a;border:1px solid #00ff41;padding:8px 16px;font-size:11px}.strategy-section,.reasoning-section,.factors-section{margin-bottom:40px}.strategy-section h3,.reasoning-section h3,.recommendations-section h3,.factors-section h3{text-transform:uppercase;letter-spacing:2px;color:#00ff41;opacity:.8;border-bottom:1px solid #00ff41;margin:0 0 18px;padding-bottom:10px;font-size:14px;font-weight:700}.strategy-section p,.reasoning-section p{color:#00ff41;opacity:.85;margin:0;font-size:16px;line-height:1.7}.recommendations-section{margin:50px 0}.recommendations-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:25px;margin-top:25px;display:grid}.recommendation-card{background:#111;border:1px solid #00ff41;transition:all .3s}.card-header{background:#0a0a0a;border-bottom:1px solid #00ff41;justify-content:space-between;align-items:center;padding:22px 25px;display:flex}.ticker-info h4{letter-spacing:2px;color:#00ff41;text-shadow:0 0 8px #00ff4166;margin:0 0 4px;font-size:28px;font-weight:700}.company-name{color:#00ff41;opacity:.5;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:11px}.action-badge{color:#0a0a0a;letter-spacing:2px;text-transform:uppercase;background:#00ff41;padding:8px 18px;font-size:11px;font-weight:700}.action-badge.sell{background:#f80}.card-body{padding:25px}.metric{border-bottom:1px solid #00ff4133;justify-content:space-between;padding:12px 0;display:flex}.metric:last-of-type{border-bottom:none}.metric .label{text-transform:uppercase;letter-spacing:1px;color:#00ff41;opacity:.6;font-size:12px}.metric .value{color:#00ff41;text-align:right;font-size:16px;font-weight:700}.reasoning{color:#00ff41;opacity:.8;background:#0a0a0a;border-left:3px solid #00ff41;margin-top:25px;padding:20px;font-size:14px;line-height:1.7}.factors-section ul{gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.factors-section li{color:#00ff41;opacity:.85;background:#111;border-left:3px solid #00ff41;padding:16px 20px;font-size:15px;line-height:1.6;transition:all .2s}.factors-section li:hover{opacity:1;background:#0a0a0a;border-left-width:6px;padding-left:17px}.backtest-controls{background:#111;border:1px solid #00ff41;margin:40px 0;padding:25px}.backtest-controls h3{text-transform:uppercase;letter-spacing:2px;color:#00ff41;opacity:.8;border-bottom:1px solid #00ff41;margin:0 0 18px;padding-bottom:10px;font-size:14px;font-weight:700}.backtest-buttons{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:20px;display:grid}.backtest-btn{color:#00ff41;text-align:center;cursor:pointer;opacity:.8;letter-spacing:1px;text-transform:uppercase;background:#0a0a0a;border:1px solid #00ff41;padding:12px 16px;font-size:11px;font-weight:700;transition:all .2s}.backtest-btn:hover:not(:disabled){color:#0a0a0a;opacity:1;background:#00ff41}.backtest-btn:disabled{opacity:.3;cursor:not-allowed}.backtest-results{background:#111;border:2px solid #00ff41;margin:40px 0;padding:40px}.backtest-header{border-bottom:2px solid #00ff41;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:25px;display:flex}.backtest-header h2{letter-spacing:2px;color:#00ff41;text-shadow:0 0 10px #00ff4180;margin:0;font-size:36px;font-weight:700}.backtest-date{color:#00ff41;opacity:.6;letter-spacing:2px;text-transform:uppercase;font-size:12px}.backtest-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:50px;display:grid}.summary-card{text-align:center;background:#0a0a0a;border:1px solid #00ff41;padding:20px}.summary-card.profit{background:#00ff410d;border-color:#00ff41}.summary-card.loss{background:#ff44440d;border-color:#f44}.summary-label{text-transform:uppercase;letter-spacing:1.5px;color:#00ff41;opacity:.6;margin-bottom:10px;font-size:10px}.summary-value{color:#00ff41;letter-spacing:1px;font-size:24px;font-weight:700}.summary-card.loss .summary-value{color:#f44}.summary-percent{opacity:.7;margin-left:8px;font-size:14px}.backtest-trades h3{text-transform:uppercase;letter-spacing:2px;color:#00ff41;opacity:.8;border-bottom:1px solid #00ff41;margin:0 0 25px;padding-bottom:10px;font-size:14px;font-weight:700}.trades-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;display:grid}.trade-card{background:#0a0a0a;border:1px solid #00ff41;padding:20px}.trade-card.winning{border-left:4px solid #00ff41}.trade-card.losing{border-left:4px solid #f44}.trade-header{border-bottom:1px solid #00ff4133;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;display:flex}.trade-ticker{color:#00ff41;letter-spacing:1px;font-size:22px;font-weight:700}.trade-action{letter-spacing:1.5px;text-transform:uppercase;padding:6px 14px;font-size:10px;font-weight:700}.trade-action.buy{color:#0a0a0a;background:#00ff41}.trade-action.sell{color:#0a0a0a;background:#f80}.trade-body{flex-direction:column;gap:10px;display:flex}.trade-metric{justify-content:space-between;font-size:13px;display:flex}.trade-label{color:#00ff41;opacity:.6;text-transform:uppercase;letter-spacing:1px;font-size:11px}.trade-value{color:#00ff41;font-weight:700}.trade-metric.highlight{border-top:1px solid #00ff4133;margin-top:10px;padding-top:10px;font-size:15px}.trade-metric.highlight.profit .trade-value{color:#00ff41}.trade-metric.highlight.loss .trade-value{color:#f44}.trade-percent{opacity:.8;margin-left:6px;font-size:12px}.backtest-prompt{text-align:center;color:#00ff41;margin-bottom:30px;padding:0 20px;font-size:24px;font-style:italic;line-height:1.4}.backtest-prompt .prompt-label{letter-spacing:3px;opacity:.5;margin-bottom:8px;font-size:12px;font-style:normal}.backtest-pl-main{text-align:center;margin-bottom:30px;padding:50px 20px}.backtest-pl-main.profit .pl-percent{color:#00ff41;text-shadow:0 0 30px #00ff4199}.backtest-pl-main.loss .pl-percent{color:#f44;text-shadow:0 0 30px #f449}.pl-percent{letter-spacing:2px;font-size:80px;font-weight:700}.pl-subtext{color:#00ff41;opacity:.7;margin-top:10px;font-size:20px}.backtest-pl-main.loss .pl-subtext{color:#f44}.backtest-stocks{flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:30px;display:flex}.stock-pill-wrapper{flex-direction:column;align-items:center;display:flex}.stock-pill{cursor:pointer;background:#00ff411a;border:2px solid #00ff41;align-items:center;gap:12px;padding:12px 20px;transition:all .2s;display:flex}.stock-pill:hover{background:#00ff4133}.stock-pill.expanded{border-bottom:none}.stock-pill.loss{background:#ff44441a;border-color:#f44}.stock-pill.loss:hover{background:#f443}.stock-ticker{color:#00ff41;font-size:20px;font-weight:700}.stock-pill.loss .stock-ticker{color:#f44}.stock-pl{color:#00ff41;font-size:18px;font-weight:700}.stock-pill.loss .stock-pl{color:#f44}.stock-short{color:#0a0a0a;letter-spacing:1px;background:#f80;padding:2px 6px;font-size:10px;font-weight:700}.stock-detail-pl{border-top:1px dashed #00ff414d;margin-top:8px;padding-top:8px;font-weight:700}.stock-details.loss .stock-detail-pl{border-top-color:#ff44444d}.stock-details{background:#00ff410d;border:2px solid #00ff41;border-top:1px dashed #00ff414d;min-width:100%;padding:12px 20px}.stock-details.loss{background:#ff44440d;border-color:#ff44444d #f44 #f44}.stock-detail-row{color:#00ff41;opacity:.8;justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.stock-details.loss .stock-detail-row{color:#f44}.backtest-footer{text-align:center;color:#00ff41;opacity:.5;letter-spacing:3px;margin-top:20px;font-size:14px}
