.App,.App-header{justify-content:center;text-align:center}.App-header{align-items:center;background-image:url(/static/media/background.516dd4615724116754ad.jpg);background-position:50%;background-size:cover;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);min-height:100vh}.portfolio-container{margin:0 auto;padding:20px;width:100%}.portfolio-header{align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:12px;color:#fff;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding:25px}.portfolio-title{color:#fff;font-size:1.8rem;font-weight:700;margin:0}.portfolio-summary{display:flex;gap:40px;text-align:center}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:.9rem;margin-bottom:5px;opacity:.9}.summary-value{font-size:1.5rem;font-weight:700}.portfolio-carousel{align-items:center;display:flex;position:relative}.portfolio-scroll{-ms-overflow-style:none;display:flex;gap:20px;overflow-x:auto;padding:10px 5px;scroll-behavior:smooth;scrollbar-width:none}.portfolio-scroll::-webkit-scrollbar{display:none}.carousel-arrow{align-items:center;background:#1a1a1a;border:none;border-radius:50%;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:40px;z-index:2}.carousel-arrow:hover{background:#333;transform:translateY(-50%) scale(1.1)}.carousel-arrow-left{left:-10px}.carousel-arrow-right{right:-10px}.stock-card{background:#fff;border-radius:12px;border-top:4px solid #1b5e20;box-shadow:0 4px 15px #00000014;flex-shrink:0;min-width:240px;padding:20px;transition:all .3s ease}.stock-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-5px)}.stock-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.stock-symbol{color:#333;font-size:1.5rem;font-weight:700}.stock-shares{background:#f8f9fa;border-radius:15px;color:#666;font-size:1rem;font-weight:600;padding:4px 10px}.stock-details{margin-bottom:0}.detail-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.detail-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-label{color:#666;font-size:.9rem}.detail-value{color:#333;font-size:1rem;font-weight:600}.empty-portfolio{background:#f8f9fa;border-radius:12px;color:#666;padding:40px 20px;text-align:center}.empty-portfolio p{font-size:1.1rem;margin-bottom:10px}.empty-portfolio .hint{font-size:.9rem;opacity:.7}@media (max-width:768px){.portfolio-header{flex-direction:column;text-align:center}.portfolio-summary{flex-direction:column;gap:20px}.stock-card{min-width:200px}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f0f2f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.App{flex-direction:column}.App,.auth-screen{align-items:center;display:flex;min-height:100vh;padding:20px}.auth-screen{background-color:#f0f2f5;justify-content:center}.auth-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;max-width:420px;padding:40px;width:100%}.auth-title{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin-bottom:6px;text-align:center}.auth-subtitle{color:#666;font-size:.95rem;margin-bottom:24px;text-align:center}.auth-tabs{border:2px solid #e0e0e0;border-radius:10px;display:flex;gap:0;margin-bottom:20px;overflow:hidden}.auth-tab{background:#fff;border:none;color:#888;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:10px;transition:all .2s}.auth-tab.active{background:#1a1a1a;color:#fff}.auth-error{background:#fff5f5;border-left:3px solid #c53030;border-radius:8px;color:#c53030;font-size:.9rem;margin-bottom:16px;padding:10px 14px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form input{background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .3s,box-shadow .3s;width:100%}.auth-form input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 3px #0000001a}.auth-submit{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:4px;padding:12px;transition:all .3s ease;width:100%}.auth-submit:hover{box-shadow:0 4px 12px #0006;transform:translateY(-2px)}.auth-submit:disabled{background:#bdbdbd;box-shadow:none;cursor:not-allowed;transform:none}.auth-hint{color:#999;font-size:.85rem;margin-top:16px;text-align:center}.welcome-banner{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:16px;box-shadow:0 4px 20px #0000004d;color:#fff;margin-bottom:25px;max-width:1200px;padding:30px 40px;width:100%}.welcome-top{align-items:center;display:flex;justify-content:center;position:relative;text-align:center}.welcome-banner h1{font-size:1.8rem;font-weight:700;margin-bottom:8px}.logout-btn{background:#0000;border:2px solid #fff6;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;position:absolute;right:0;transition:all .2s;white-space:nowrap}.logout-btn:hover{background:#ffffff26;border-color:#ffffffb3}.welcome-banner .welcome-subtitle{font-size:1.1rem;opacity:.9}.welcome-banner .welcome-loading{animation:pulse 1.5s ease-in-out infinite;background:#ffffff4d;border-radius:6px;height:24px;width:140px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.welcome-banner .welcome-error{color:#ffcdd2;font-size:.95rem}.error-banner{background:#fff5f5;border-left:4px solid #c53030;border-radius:12px;color:#c53030;font-weight:600;margin-bottom:20px;max-width:1200px;padding:15px 20px;width:100%}.error-details{font-size:.9rem;font-weight:400;list-style-type:disc;margin-left:20px;margin-top:8px;text-align:left}.loading{color:#666;font-size:1.1rem;padding:40px;text-align:center}.main-content{display:flex;gap:20px;justify-content:center;max-width:1200px;width:100%}.main-content.two-column{margin-top:20px}.left-section,.right-section{display:flex;flex:1 1;flex-direction:column;gap:20px;min-width:0}.component-container{background:#fff;border-radius:12px;box-shadow:0 4px 15px #00000014;overflow:hidden;padding:0;transition:all .3s ease}.component-container:hover{box-shadow:0 8px 25px #0000001f}.section-header{color:#fff;font-size:1.15rem;font-weight:700;padding:18px 24px}.section-header.amber,.section-header.blue,.section-header.green,.section-header.purple,.section-header.red,.section-header.teal{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.section-body{padding:20px 24px}.trade-form .input-group{display:flex;flex-direction:column;gap:12px}.trade-form input{background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .3s,box-shadow .3s;width:100%}.trade-form input:focus{background:#fff;border-color:#333;box-shadow:0 0 0 3px #0000001a}.trade-form button{border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:4px;padding:12px;transition:all .3s ease;width:100%}.trade-form button.buy-btn,.trade-form button.sell-btn{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.trade-form button.buy-btn:hover,.trade-form button.sell-btn:hover{box-shadow:0 4px 12px #0006;transform:translateY(-2px)}.trade-form button:disabled{background:#bdbdbd;box-shadow:none;cursor:not-allowed;transform:none}.trade-form .form-error{background:#fff5f5;border-left:3px solid #c53030;border-radius:8px;color:#c53030;font-size:.9rem;padding:10px 14px}.news-card{border-bottom:1px solid #eee;color:#333;display:block;padding:14px 0;text-decoration:none;transition:color .2s}.news-card:last-child{border-bottom:none}.news-card:hover{color:#555}.news-card .news-title{font-size:.95rem;font-weight:600;line-height:1.4}.news-empty{color:#999;font-size:.95rem;padding:20px 0;text-align:center}.news-buttons{display:flex;gap:10px;justify-content:center;padding:12px 0 4px}.news-toggle-btn{background:none;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:.85rem;padding:6px 16px;transition:all .2s}.news-toggle-btn:hover{background:#f5f5f5;border-color:#bbb;color:#333}.full-width-section{margin-top:20px;max-width:1200px;width:100%}.chart-stock-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chart-stock-btn{background:#fff;border:2px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px;transition:all .2s}.chart-stock-btn:hover{border-color:#999;color:#333}.chart-stock-btn.active{background:#1a1a1a;border-color:#1a1a1a;color:#fff}.chart-container{height:400px;position:relative}.chart-loading{color:#999;font-size:.95rem;padding:40px 0;text-align:center}.popular-stocks-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.stock-chip{background:#f0f2f5;border:2px solid #0000;border-radius:20px;color:#333;display:inline-block;font-size:.9rem;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .3s ease}.stock-chip:hover{background:#2d2d2d;box-shadow:0 4px 12px #0000004d;color:#fff;transform:translateY(-2px)}.leaderboard-list{list-style:none;margin:0;padding:0}.leaderboard-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 0}.leaderboard-item:last-child{border-bottom:none}.leaderboard-rank{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.leaderboard-rank.gold{background:linear-gradient(135deg,#1a1a1a,#2d2d2d)}.leaderboard-rank.silver{background:linear-gradient(135deg,#444,#555)}.leaderboard-rank.bronze{background:linear-gradient(135deg,#777,#999)}.leaderboard-rank.default{background:#e0e0e0;color:#333}.leaderboard-name{flex:1 1;font-size:.95rem;font-weight:600;margin-left:12px}.leaderboard-balance{color:#1a1a1a;font-size:.95rem;font-weight:700}.transaction-table{border-collapse:collapse;font-size:.9rem;table-layout:fixed;width:100%}.transaction-table thead th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#555;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:12px 10px;text-align:left;text-transform:uppercase}.transaction-table tbody td{border-bottom:1px solid #f0f0f0;padding:12px 10px}.transaction-table tbody tr:hover{background:#f8f9fa}.transaction-table .type-buy,.transaction-table .type-sell{color:#1a1a1a;font-weight:600}@media (max-width:900px){.main-content{flex-direction:column}}
/*# sourceMappingURL=main.8de7b010.css.map*/