.app-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-header{background-color:#0000001a;box-shadow:0 2px 8px #0000001a;color:#fff;padding:2rem;text-align:center}.app-header h1{font-size:2.5rem;margin-bottom:.5rem}.subtitle{font-size:1.1rem;opacity:.9}.tabs{background-color:#ffffff1a;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.tab{background-color:initial;border:2px solid #fff;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.tab:hover{background-color:#fff3}.tab.active{background-color:#fff;color:#667eea}.main-content{margin:2rem auto;max-width:1200px;padding:0 1rem}.error-message{background-color:#f8d7da;border-radius:5px;color:#721c24;margin-bottom:1rem;padding:1rem}.loading{color:#fff;font-size:1.5rem;padding:2rem;text-align:center}.portfolio-section,.stocks-section{animation:fadeIn .3s ease-in}.stock-selector-container{align-items:center;background:linear-gradient(135deg,#0a0a0a,#1a0033);color:#0f0;display:flex;flex-direction:column;font-family:Courier New,monospace;height:100vh;overflow-y:auto;padding:40px 20px;width:100%}.selector-header{animation:slideDown .6s ease-out;margin-bottom:40px;text-align:center}.selector-header h1{color:#0ff;font-size:48px;letter-spacing:2px;margin:0 0 12px;text-shadow:0 0 20px #00ffff80}.selector-header p{color:#0f0;font-size:16px;margin:0 0 16px;opacity:.8}.load-stocks-btn{background:linear-gradient(135deg,#0f0,#0ff);border:none;border-radius:6px;box-shadow:0 0 15px #00ff004d;color:#000;cursor:pointer;font-family:Courier New,monospace;font-size:14px;font-weight:700;padding:10px 20px;transition:all .3s ease}.load-stocks-btn:hover{box-shadow:0 0 20px #0f09;transform:scale(1.05)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stock-grid{grid-gap:20px;animation:fadeIn .8s ease-out;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:1200px;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stock-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:2px solid #0f0;border-radius:12px;box-shadow:0 0 20px #00ff001a;display:flex;flex-direction:column;gap:12px;padding:20px;position:relative;transition:all .3s ease}.stock-card-content{align-items:center;cursor:pointer;display:flex;gap:16px}.stock-card:hover{background:#00ffff0d;border-color:#0ff;box-shadow:0 0 30px #00ffff4d;transform:scale(1.05)}.stock-card:active{transform:scale(.98)}.stock-card.selected{background:#00ff001a;border-color:#0f0;box-shadow:0 0 30px #0f06}.checkbox,.stock-checkbox{align-items:center;display:flex;justify-content:center}.checkbox{border:2px solid #0f0;border-radius:4px;color:#0f0;font-size:14px;font-weight:700;height:24px;transition:all .2s ease;width:24px}.checkbox.checked{background:#0f0;color:#000}.stock-logo{align-items:center;background:linear-gradient(135deg,#0f0,#0ff);border-radius:8px;color:#000;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.stock-info{flex:1 1}.stock-symbol{color:#0ff;font-size:18px;font-weight:700;letter-spacing:1px}.stock-name{font-size:12px;opacity:.8}.stock-name,.stock-price{color:#0f0;margin-top:4px}.stock-price{font-size:16px;font-weight:700}.stock-change{font-size:12px;font-weight:700;margin-top:4px}.stock-change.positive{color:#0f0}.stock-change.negative{color:#f06}.quantity-input-wrapper{align-items:center;background:#00ff001a;border:1px solid #00ff004d;border-radius:6px;display:flex;gap:8px;margin-top:8px;padding:8px}.quantity-input,.quantity-label{color:#0f0;font-size:12px;font-weight:700}.quantity-input{background:#00000080;border:1px solid #0f0;border-radius:4px;font-family:Courier New,monospace;padding:6px 8px;text-align:center;width:60px}.quantity-input:focus{background:#00ffff1a;border-color:#0ff;outline:none}.error-state,.loading-state{align-items:center;display:flex;justify-content:center}.error-message,.loading-message{color:#0f0;font-size:18px;text-align:center}.error-message{background:#ff6b9d1a;border:2px solid #ff6b9d;border-radius:8px;color:#ff6b9d;padding:20px}.selector-footer{align-items:center;animation:slideUp .6s ease-out;border-top:2px solid #0f03;display:flex;gap:20px;justify-content:center;margin-top:40px;max-width:1200px;padding:20px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.selection-count{color:#0f0;font-size:16px;min-width:200px}.view-bundle-btn{background:linear-gradient(135deg,#0f0,#0ff);border:none;border-radius:8px;box-shadow:0 0 20px #00ff004d;color:#000;cursor:pointer;font-family:Courier New,monospace;font-size:16px;font-weight:700;letter-spacing:1px;min-width:200px;padding:14px 32px;transition:all .3s ease}.view-bundle-btn:hover:not(:disabled){box-shadow:0 0 30px #0f09;transform:scale(1.05)}.view-bundle-btn:active:not(:disabled){transform:scale(.95)}.view-bundle-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.stock-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.stock-card{flex-direction:column;text-align:center}.selector-header h1{font-size:32px}.selector-header p{font-size:14px}}.timeline-player{background:linear-gradient(180deg,#000000b3,#000000f2);border-top:2px solid #0ff;bottom:0;box-shadow:0 -10px 40px #00ffff1a;color:#0f0;font-family:Courier New,monospace;height:100px;left:0;padding:16px 20px;position:absolute;right:0;z-index:100}.player-controls{gap:12px;height:100%}.player-btn,.player-controls{align-items:center;display:flex}.player-btn{background:#00ffff1a;border:1px solid #0ff;border-radius:4px;color:#0ff;cursor:pointer;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .2s;width:36px}.player-btn:hover{background:#0ff;color:#000;transform:scale(1.05)}.player-btn:active{transform:scale(.95)}.timeline-scrubber{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:200px}.timeline-slider{-webkit-appearance:none;appearance:none;background:#0f03;border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#0f0;border-radius:50%;box-shadow:0 0 10px #0f0c;cursor:pointer;height:14px;-webkit-transition:all .2s;transition:all .2s;width:14px}.timeline-slider::-webkit-slider-thumb:hover{box-shadow:0 0 15px #0f0;height:16px;width:16px}.timeline-slider::-moz-range-thumb{background:#0f0;border:none;border-radius:50%;box-shadow:0 0 10px #0f0c;cursor:pointer;height:14px;-moz-transition:all .2s;transition:all .2s;width:14px}.timeline-slider::-moz-range-thumb:hover{box-shadow:0 0 15px #0f0;height:16px;width:16px}.timeline-labels{color:#0f0;display:flex;font-size:10px;justify-content:space-between;opacity:.7}.timeline-start{text-align:left}.timeline-current{color:#0ff;font-weight:700;opacity:1;text-align:center}.timeline-end{text-align:right}.speed-controls{display:flex;flex-shrink:0;gap:4px}.speed-btn{background:#00ff001a;border:1px solid #0f0;border-radius:3px;color:#0f0;cursor:pointer;font-size:11px;font-weight:700;min-width:32px;padding:4px 10px;transition:all .2s}.speed-btn:hover{background:#0f03;box-shadow:0 0 8px #00ff0080}.speed-btn.active{background:#0f0;box-shadow:0 0 12px #0f0c;color:#000}.step-counter{background:#00ffff1a;border:1px solid #0ff;border-radius:3px;color:#0ff;flex-shrink:0;font-size:11px;font-weight:700;min-width:60px;padding:4px 12px;text-align:center}@media (max-width:768px){.timeline-player{height:120px;padding:12px}.player-controls{flex-wrap:wrap}.timeline-scrubber{order:3;width:100%}.speed-controls{font-size:9px}.step-counter{font-size:10px;min-width:50px}}.stock-universe-container{background:linear-gradient(135deg,#0a0a0a,#1a0033);display:flex;flex-direction:column;font-family:Courier New,monospace;height:100vh;overflow:hidden;position:relative;width:100%}.back-button{background:#00ff0026;border:2px solid #0f0;border-radius:6px;color:#0f0;cursor:pointer;font-family:Courier New,monospace;font-size:13px;font-weight:700;left:20px;padding:10px 16px;transition:all .3s ease}.back-button,.timeframe-selector{position:fixed;top:20px;z-index:200}.timeframe-selector{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:2px solid #0ff;border-radius:8px;box-shadow:0 0 20px #0ff3;display:flex;gap:12px;left:50%;padding:12px 20px;transform:translateX(-50%)}.timeframe-label{color:#0ff;font-family:Courier New,monospace;font-size:12px;font-weight:700;letter-spacing:1px}.timeframe-buttons{display:flex;gap:6px}.timeframe-btn{background:#00ffff1a;border:1px solid #00ffff80;border-radius:4px;color:#0ff;cursor:pointer;font-family:Courier New,monospace;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 10px;transition:all .2s ease}.timeframe-btn:hover{background:#0ff3;border-color:#0ff;box-shadow:0 0 10px #00ffff4d}.timeframe-btn.active{background:#0ff;border-color:#0ff;box-shadow:0 0 15px #00ffff80;color:#000}.back-button:hover{background:#00ff004d;box-shadow:0 0 15px #0f06;transform:translateX(-2px)}.back-button:active{transform:translateX(-4px)}.stock-universe-container canvas{display:block;flex:1 1;width:100%}.axis-label{font-family:Courier New,monospace;font-size:14px;font-weight:700;pointer-events:none;position:fixed;z-index:50}.axis-label-x{bottom:120px;color:#f66;right:40px;writing-mode:horizontal-tb}.axis-label-y{color:#6f6;left:40px;text-orientation:mixed;top:50%;transform:translateY(-50%);writing-mode:vertical-rl}.axis-scale{color:#888;font-family:Courier New,monospace;font-size:11px;pointer-events:none;position:fixed;z-index:40}.x-axis-scale{bottom:100px;box-sizing:border-box;display:flex;justify-content:space-around;padding:0 80px;width:100%}.x-tick{color:#f66;text-align:center}.y-axis-scale{bottom:120px;color:#6f6;display:flex;flex-direction:column;justify-content:space-between;position:fixed;right:20px;top:60px;z-index:40}.y-tick{font-size:10px;margin-left:8px;text-align:left}.embedded-info{background:#000c;border:2px solid;border-radius:8px;font-family:Courier New,monospace;font-size:12px;min-width:200px;padding:12px 16px;position:fixed;z-index:100}.bundle-info{border-color:#0ff;color:#0ff;left:20px;top:70px}.bundle-info-row{display:flex;gap:20px;justify-content:space-between;margin:4px 0}.bundle-info-label{color:#888}.bundle-info-value{color:#0ff;font-weight:700}.bundle-info-value.positive{color:#0f0}.bundle-info-value.negative{color:#f44}.bundle-info-header{border-bottom:1px solid #00ffff4d;font-weight:700;margin-bottom:8px;padding-bottom:6px}.hud-panel{display:none}.draggable-header{cursor:grab;-webkit-user-select:none;user-select:none}.draggable-header:active{cursor:grabbing}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hud-hover{border-color:#0f0;max-height:calc(100vh - 150px);min-width:250px;top:20px}.hud-hover,.hud-selected{overflow-y:auto;right:20px}.hud-selected{border-color:#0ff;bottom:120px;max-height:calc(100vh - 140px);min-width:300px}.close-button{align-items:center;background:#0f03;border:1px solid #0f0;border-radius:4px;color:#0f0;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s;width:24px}.close-button:hover{background:#0f0;color:#000}.hud-header{border-bottom:2px solid;font-size:14px;font-weight:700;letter-spacing:1px;margin-bottom:12px;padding-bottom:8px}.hud-content{display:flex;flex-direction:column;gap:8px}.hud-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.hud-label{color:#0f0;min-width:100px;opacity:.7}.hud-value{color:#0ff;font-weight:700;text-align:right}.hud-value.positive{color:#0f0}.hud-value.negative{color:#f06}.help-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:2px solid #0ff;border-radius:8px;box-shadow:0 0 20px #0ff3;color:#0f0;font-size:12px;left:20px;max-height:calc(100vh - 140px);max-width:280px;overflow-y:auto;padding:16px;position:fixed;top:20px;z-index:150}.help-panel h3{color:#0ff;font-size:14px;letter-spacing:1px;margin:0 0 12px}.help-panel ul{list-style:none;margin:0;padding:0}.help-panel li{border-bottom:1px solid #0f03;padding:4px 0}.help-panel li:last-child{border-bottom:none}.help-panel strong{color:#0ff}.legend-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:2px solid #f0f;border-radius:8px;bottom:120px;box-shadow:0 0 20px #f0f3;color:#0f0;font-size:12px;left:20px;max-height:calc(100vh - 140px);max-width:280px;overflow-y:auto;padding:16px;position:fixed;z-index:150}.legend-panel h3{color:#f0f;font-size:14px;letter-spacing:1px;margin:0 0 12px}.legend-item{align-items:center;border-bottom:1px solid #f0f3;display:flex;gap:8px;padding:6px 0}.legend-item:last-child{border-bottom:none}.legend-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.hud-selected::-webkit-scrollbar{width:8px}.hud-selected::-webkit-scrollbar-track{background:#00ff001a;border-radius:4px}.hud-selected::-webkit-scrollbar-thumb{background:#00ff0080;border-radius:4px}.hud-selected::-webkit-scrollbar-thumb:hover{background:#0f0c}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:200}.loading-spinner{align-items:center;color:#0f0;display:flex;flex-direction:column;gap:20px;text-align:center}.spinner{animation:spin 1s linear infinite;border-color:#0f0 #0ff #0f03 #0f03;border-radius:50%;border-style:solid;border-width:3px;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner p{font-size:14px;font-weight:700;letter-spacing:2px;margin:0}.error-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff6b9d1a;border:2px solid #ff6b9d;border-radius:8px;color:#ff6b9d;font-size:12px;max-width:300px;padding:16px;position:absolute;right:20px;top:20px;z-index:150}.error-message p{margin:4px 0}.error-message p:first-child{font-weight:700}@media (max-width:768px){.help-panel,.hud-panel,.legend-panel{font-size:10px;max-width:90vw;padding:12px}.help-panel,.legend-panel{max-width:150px}.hud-hover,.hud-selected{min-width:auto}}
/*# sourceMappingURL=main.aa4ceccc.css.map*/