*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1a1a4e;--secondary-color: #e54545;--accent-color: #4a4ac8;--background-dark: #0d0d1a;--background-card: #1a1a3e;--background-hover: #252560;--text-primary: #ffffff;--text-secondary: #b0b0c8;--border-color: #3a3a6e;--success-color: #4caf50;--warning-color: #ff9800;--danger-color: #f44336;--gradient-primary: linear-gradient(135deg, #1a1a4e 0%, #4a4ac8 50%, #e54545 100%)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--background-dark);color:var(--text-primary);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.test-banner{background:linear-gradient(90deg,#ff6b35,#f7931e,#ff6b35);color:#000;text-align:center;padding:8px 16px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.test-banner-link{color:#000;text-decoration:none;display:inline-flex;align-items:center;gap:4px;font-weight:700;transition:opacity .2s}.test-banner-link:hover{opacity:.7;text-decoration:underline}.test-banner .x-logo{vertical-align:middle}.main-layout{display:flex;flex:1;padding:20px;gap:20px;max-width:1800px;margin:0 auto;width:100%}.content{flex:1;min-width:0}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px}.spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.header{background:var(--gradient-primary);padding:15px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0000004d}.logo-container{display:flex;align-items:center;gap:15px}.logo{display:flex;flex-direction:column;line-height:1}.logo-bos{font-size:2rem;font-weight:900;color:var(--secondary-color);letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.logo-sports{font-size:1.2rem;font-weight:700;color:var(--accent-color);letter-spacing:4px}.logo-subtitle{font-size:1.1rem;font-weight:500;color:var(--text-secondary);border-left:2px solid var(--border-color);padding-left:15px}.header h1{font-size:1.8rem;font-weight:700;display:flex;align-items:center;gap:10px}.header-actions{display:flex;gap:10px}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:#2856a8;transform:translateY(-2px)}.btn-secondary{background:var(--background-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--background-hover)}.btn-success{background:var(--success-color);color:#fff}.btn-danger{background:var(--danger-color);color:#fff}.trade-simulator{display:flex;flex-direction:column;gap:20px}.trade-container{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start}.team-panel{background:var(--background-card);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.team-header{padding:15px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color)}.team-selector-row{display:flex;align-items:center;gap:10px;flex:1}.team-selector-row select{flex:1;padding:8px 12px;font-size:1rem;background:var(--background-dark);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;min-width:150px}.btn-remove-team{width:28px;height:28px;border-radius:50%;border:none;background:var(--danger-color);color:#fff;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-remove-team:hover{background:#d32f2f;transform:scale(1.1)}.team-selector{display:flex;align-items:center;gap:10px}.team-selector select{padding:8px 12px;font-size:1rem;background:var(--background-dark);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;min-width:200px}.team-info{text-align:right;font-size:.85rem;color:var(--text-secondary)}.roster-section{padding:15px}.roster-section h3{font-size:.9rem;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.player-list{display:flex;flex-direction:column;gap:8px;min-height:100px;max-height:800px;overflow-y:auto}.player-list::-webkit-scrollbar{width:6px}.player-list::-webkit-scrollbar-track{background:var(--background-dark)}.player-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.player-card{background:var(--background-dark);padding:12px 15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:grab;transition:all .2s ease;border:1px solid transparent}.player-card:hover{background:var(--background-hover);border-color:var(--primary-color)}.player-card.dragging{opacity:.5;cursor:grabbing}.player-card.selected{border-color:var(--secondary-color);background:#c8102e1a}.player-info{display:flex;flex-direction:column;gap:2px}.player-name{font-weight:600;font-size:.95rem}.player-details{font-size:.8rem;color:var(--text-secondary)}.player-stats{text-align:right}.player-salary{font-weight:600;color:var(--success-color);font-size:.9rem}.player-rating{font-size:.8rem;color:var(--text-secondary)}.player-card.two-way{border-left:3px solid var(--warning-color);background:#ff98000d}.two-way-badge{background:var(--warning-color);color:var(--background-dark);font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.trade-zone{min-height:150px;border:2px dashed var(--border-color);border-radius:8px;padding:15px;margin-top:10px;transition:all .2s ease}.trade-zone.drag-over{border-color:var(--primary-color);background:#1d428a1a}.trade-zone-empty{display:flex;align-items:center;justify-content:center;height:100px;color:var(--text-secondary);font-size:.9rem}.trade-center{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px}.trade-arrows{font-size:2rem;color:var(--primary-color)}.trade-summary{background:var(--background-card);border-radius:12px;padding:20px;border:1px solid var(--border-color)}.trade-summary h2{font-size:1.2rem;margin-bottom:20px;text-align:center}.fairness-meter{margin-bottom:20px}.fairness-bar{height:12px;background:var(--background-dark);border-radius:6px;overflow:hidden;position:relative}.fairness-indicator{position:absolute;top:0;height:100%;width:4px;background:#fff;transition:left .3s ease}.fairness-fill{height:100%;transition:width .3s ease,background .3s ease;border-radius:6px}.fairness-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.8rem;color:var(--text-secondary)}.fairness-score{text-align:center;margin-top:15px}.fairness-score .score{font-size:2rem;font-weight:700}.fairness-score .label{color:var(--text-secondary);font-size:.9rem}.trade-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.value-box{text-align:center;padding:15px;background:var(--background-dark);border-radius:8px}.value-box h4{font-size:.85rem;color:var(--text-secondary);margin-bottom:5px}.value-box .value{font-size:1.4rem;font-weight:700}.trade-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.trade-actions .btn{justify-content:center}.ad-placeholder{width:160px;min-height:600px;background:var(--background-card);border-radius:8px;display:block;border:1px dashed var(--border-color);color:var(--text-secondary);font-size:.8rem;overflow:hidden}.ad-placeholder .adsbygoogle{display:block;width:160px;min-height:600px}.ad-placeholder span{writing-mode:vertical-rl;text-orientation:mixed}.beats-player{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));z-index:1000;display:flex;align-items:center;justify-content:center;padding:8px 16px;gap:16px;box-shadow:0 -4px 20px #00000080}.beats-player.expanded{padding:8px 16px;gap:12px}.beats-toggle{background:var(--secondary-color);border:none;color:#fff;padding:8px 14px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;transition:all .2s;flex-shrink:0}.beats-toggle:hover{transform:scale(1.05);background:#f55}.beats-icon{font-size:16px}.beats-iframe-container{border-radius:6px;overflow:hidden;background:#000}.beats-iframe-container iframe{display:block}@media (max-width: 600px){.beats-player.expanded{flex-direction:column;gap:8px;padding:10px 16px}.beats-iframe-container iframe{width:300px;height:170px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--background-card);padding:30px;border-radius:12px;max-width:500px;width:90%}.modal h2{margin-bottom:20px}.share-url{display:flex;gap:10px}.share-url input{flex:1;padding:12px;background:var(--background-dark);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;margin-top:20px}@media (max-width: 1200px){.ad-placeholder{display:none}}@media (max-width: 900px){.trade-container{grid-template-columns:1fr}.trade-center{flex-direction:row;justify-content:center}.trade-arrows{transform:rotate(90deg)}.main-layout{padding:10px}.header{padding:12px 15px}.header h1{font-size:1.3rem}}@media (max-width: 600px){.team-selector select{min-width:150px}.trade-values{grid-template-columns:1fr}.player-card{flex-direction:column;align-items:flex-start;gap:8px}.player-stats{text-align:left}}.salary-status{padding:15px;border-radius:10px;margin-bottom:20px;border:2px solid}.salary-status.legal{background:#4caf501a;border-color:var(--success-color)}.salary-status.illegal{background:#f443361a;border-color:var(--danger-color)}.status-header{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;margin-bottom:12px}.salary-status.legal .status-header{color:var(--success-color)}.salary-status.illegal .status-header{color:var(--danger-color)}.status-icon{font-size:1.4rem}.salary-breakdown{display:flex;flex-direction:column;gap:12px}.team-salary-check{background:var(--background-dark);padding:12px;border-radius:8px;border-left:4px solid}.team-salary-check.valid{border-left-color:var(--success-color)}.team-salary-check.invalid{border-left-color:var(--danger-color)}.team-salary-check .team-name{font-weight:600;margin-bottom:8px;color:var(--text-primary)}.salary-details{display:flex;gap:20px;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.salary-rule{display:flex;gap:10px;font-size:.85rem;color:var(--text-secondary);margin-bottom:6px}.rule-label{color:var(--accent-color);font-weight:500}.salary-verdict{font-size:.9rem;font-weight:600;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.salary-verdict.pass{color:var(--success-color)}.salary-verdict.fail{color:var(--danger-color)}.salary-note{font-size:.75rem;color:var(--text-secondary);background:var(--background-dark);padding:10px;border-radius:6px;line-height:1.5}.salary-note strong{color:var(--accent-color)}.team-payroll-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--border-color)}.payroll-label{font-size:.8rem;color:var(--text-secondary)}.tax-status{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:4px}.tax-status.over-apron{background:#f4433633;color:#ff6b6b}.tax-status.under-apron{background:#4caf5033;color:#69db7c}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:disabled:hover{transform:none}.picks-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.picks-list::-webkit-scrollbar{width:6px}.picks-list::-webkit-scrollbar-track{background:var(--background-dark)}.picks-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.draft-pick-card{background:var(--background-dark);padding:10px 14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.draft-pick-card:hover{background:var(--background-hover);border-color:var(--accent-color)}.draft-pick-card.selected{border-color:var(--secondary-color);background:#c8102e1a}.draft-pick-card.first-round{border-left:3px solid var(--warning-color)}.draft-pick-card.second-round{border-left:3px solid var(--text-secondary)}.pick-info{display:flex;flex-direction:column;gap:2px}.pick-label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.pick-protections{font-size:.75rem;color:var(--warning-color);font-style:italic}.pick-swap{font-size:.75rem;color:var(--accent-color)}.pick-round-badge{background:var(--background-card);padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;color:var(--text-secondary)}.draft-pick-card.first-round .pick-round-badge{background:var(--warning-color);color:var(--background-dark)}.trade-assets{display:flex;flex-direction:column;gap:8px}.tpe-list{display:flex;flex-direction:column;gap:6px;max-height:250px;overflow-y:auto}.tpe-list::-webkit-scrollbar{width:6px}.tpe-list::-webkit-scrollbar-track{background:var(--background-dark)}.tpe-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.tpe-card{background:var(--background-dark);padding:10px 14px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease;border:1px solid transparent;border-left:3px solid var(--accent-color)}.tpe-card:hover{background:var(--background-hover);border-color:var(--accent-color);border-left-color:var(--accent-color)}.tpe-card.selected{border-color:var(--secondary-color);border-left-color:var(--secondary-color);background:#c8102e1a}.tpe-card.dpe,.tpe-card.dpe:hover{border-left-color:var(--warning-color)}.tpe-card.expiring{background:#f443360d}.tpe-card.expiring .tpe-expires{color:var(--danger-color);font-weight:600}.tpe-info{display:flex;flex-direction:column;gap:2px}.tpe-origin{font-weight:600;font-size:.9rem;color:var(--text-primary)}.tpe-expires{font-size:.75rem;color:var(--text-secondary)}.tpe-amount{display:flex;align-items:center;gap:8px}.tpe-value{font-weight:700;font-size:1rem;color:var(--success-color)}.tpe-type-badge{background:var(--warning-color);color:var(--background-dark);padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.mobile-ad{display:none}@media (max-width: 1200px){.mobile-ad{display:block;background:var(--background-card);border-radius:8px;padding:8px;text-align:center}.mobile-ad .adsbygoogle{display:block;width:100%;min-height:50px;max-height:90px}.mobile-ad-top{margin-bottom:15px}.mobile-ad-bottom{margin-top:15px}}.team-controls{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--background-card);border-radius:10px;margin-bottom:20px;border:1px solid var(--border-color)}.team-count{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.team-control-buttons{display:flex;gap:10px}.btn-sm{padding:8px 16px;font-size:.85rem}.trade-container.multi-team{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}.trade-container.multi-team::-webkit-scrollbar{height:8px}.trade-container.multi-team::-webkit-scrollbar-track{background:var(--background-dark);border-radius:4px}.trade-container.multi-team::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.team-panel-wrapper{position:relative;display:flex;align-items:flex-start;gap:10px;scroll-snap-align:start;flex-shrink:0}.team-panel-wrapper .team-panel{min-width:320px;max-width:400px;flex:1}.remove-team-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--danger-color);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s}.remove-team-btn:hover{background:#ff6b6b;transform:scale(1.1)}.trade-arrow-divider{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--accent-color);min-width:30px;align-self:center;padding:0 5px}.trade-container.teams-2 .team-panel-wrapper .team-panel{min-width:350px}.trade-container.teams-3 .team-panel-wrapper .team-panel,.trade-container.teams-4 .team-panel-wrapper .team-panel{min-width:300px}.trade-container.teams-5 .team-panel-wrapper .team-panel,.trade-container.teams-6 .team-panel-wrapper .team-panel,.trade-container.teams-7 .team-panel-wrapper .team-panel{min-width:280px}@media (max-width: 900px){.team-controls{flex-direction:column;gap:12px;text-align:center}.trade-container.multi-team{flex-direction:column;overflow-x:visible}.team-panel-wrapper{flex-direction:column;width:100%}.team-panel-wrapper .team-panel{min-width:100%;max-width:100%}.trade-arrow-divider{transform:rotate(90deg);padding:10px 0}.remove-team-btn{top:5px;right:5px}}@media (max-width: 600px){.team-count{font-size:1rem}.btn-sm{padding:6px 12px;font-size:.8rem}.trade-container.multi-team .team-panel{min-width:100%}}.trade-values.multi-team,.trade-summary.multi-team .trade-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.trade-values.multi-team .value-box,.trade-summary.multi-team .value-box{padding:12px}.trade-values.multi-team .value-box h4,.trade-summary.multi-team .value-box h4{font-size:.75rem}.trade-values.multi-team .value-box .value,.trade-summary.multi-team .value-box .value{font-size:1.1rem}
