:root{--primary-bg:#0c1428;--secondary-bg:#1f2c47;--tertiary-bg:#2a3a5c;--home-color:#2563eb;--away-color:#dc2626;--text-primary:#fff;--text-secondary:#d1d5db;--accent-color:#f59e0b;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--button-color:#3b82f6;--button-hover:#2563eb;--border-radius:12px;--shadow:0 10px 15px -3px #0000004d;--glow:0 0 15px #ffffff1a}.basketball-control-panel{height:100%;width:100%;max-width:1200px;background-color:var(--primary-bg);color:var(--text-primary);border-radius:var(--border-radius);box-shadow:var(--shadow);flex-direction:column;margin:0 auto;font-family:Inter,Roboto,Arial,sans-serif;display:flex;overflow:auto}.control-header{background:linear-gradient(to right,var(--secondary-bg),var(--primary-bg));padding:16px 24px}.header-content{flex-direction:column;gap:8px;display:flex}.control-header h2{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.match-info{flex-direction:column;gap:4px;display:flex}.match-name{color:var(--accent-color);font-size:1rem;font-weight:600}.match-teams{color:var(--text-secondary);font-size:.9rem}.score-summary{background-color:var(--secondary-bg);grid-template-columns:1fr auto 1fr;gap:16px;margin-bottom:20px;padding:20px;display:grid}.team-score{border-radius:var(--border-radius);align-items:center;gap:12px;padding:16px;display:flex;position:relative}.home-team{background:linear-gradient(135deg,var(--home-color)-10%,var(--secondary-bg)70%);justify-content:flex-start}.away-team{background:linear-gradient(135deg,var(--away-color)-10%,var(--secondary-bg)70%);justify-content:flex-end}.team-details{flex-direction:column;align-items:center;display:flex}.team-name{text-transform:uppercase;text-shadow:1px 1px 3px #00000080;white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-bottom:4px;font-size:1.1rem;font-weight:600;overflow:hidden}.team-logo{width:40px;height:40px;background-color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.team-logo.home{background-color:var(--home-color);box-shadow:0 0 10px #2563eb80}.team-logo.away{background-color:var(--away-color);box-shadow:0 0 10px #dc262680}.score{font-size:2.5rem;font-weight:800;line-height:1}.possession-indicator{color:var(--accent-color);font-size:1.5rem;animation:1s infinite blink;position:absolute;top:50%;transform:translateY(-50%)}.home-team .possession-indicator{right:10px}.away-team .possession-indicator{left:10px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.game-status{background-color:var(--tertiary-bg);border-radius:var(--border-radius);box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 24px;display:flex}.period-display{color:var(--accent-color);background-color:#0c142899;border-radius:20px;padding:4px 12px;font-size:1.1rem;font-weight:600}.game-clock{background:linear-gradient(180deg,var(--text-primary)30%,var(--text-secondary)100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;min-width:100px;text-align:center;border-radius:6px;padding:4px 8px;font-family:Roboto Mono,monospace;font-size:2.25rem;font-weight:700}.status-indicator{align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.running{background-color:var(--success-color);box-shadow:0 0 8px var(--success-color);animation:1.5s infinite pulse}.status-dot.stopped{background-color:var(--danger-color)}.status-text{text-transform:uppercase;letter-spacing:1px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.control-tabs{gap:10px;margin-bottom:20px;padding:0 20px;display:flex}.control-tabs button{background-color:var(--tertiary-bg);color:var(--text-secondary);cursor:pointer;border:none;border-bottom:3px solid #0000;border-radius:10px 10px 0 0;flex-direction:column;flex:1;align-items:center;gap:6px;padding:12px 16px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.control-tabs button:hover{color:var(--text-primary);background-color:#2a3a5ccc}.control-tabs button.active{background-color:var(--tertiary-bg);color:var(--text-primary);border-bottom:3px solid var(--accent-color)}.control-tabs button.home-tab.active{border-bottom-color:var(--home-color)}.control-tabs button.away-tab.active{border-bottom-color:var(--away-color)}.tab-icon{font-size:1.25rem}.tab-content{background-color:var(--tertiary-bg);border-radius:0 0 var(--border-radius)var(--border-radius);box-shadow:var(--glow);flex:1;margin:0 20px 20px;padding:20px;overflow-y:auto}.home-team-tab,.away-team-tab{max-height:100%;flex-direction:column;gap:20px;display:flex;overflow-y:auto}.loading-container{height:400px;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.loading-spinner{width:50px;height:50px;border:5px solid #ffffff1a;border-top-color:var(--accent-color);border-radius:50%;animation:1s linear infinite spin}.loading-text{color:var(--text-secondary);font-size:1.2rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{height:400px;color:var(--danger-color);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.error-icon{font-size:3rem}.error-text{font-size:1.5rem;font-weight:700}.error-subtext{color:var(--text-secondary);font-size:1rem}@media (max-width:992px){.score-summary{gap:12px}.team-name{font-size:1rem}.score{font-size:2.25rem}.game-clock{font-size:2rem}}@media (max-width:768px){.score-summary{grid-template-columns:1fr 1fr;grid-template-areas:"status status""home away";padding:16px}.game-status{width:100%;flex-direction:row;grid-area:status;justify-content:space-between;margin-bottom:16px}.home-team{grid-area:home}.away-team{grid-area:away}.control-tabs{gap:6px;padding:0 16px}.control-tabs button{padding:10px}.tab-text{font-size:.85rem}.tab-content{margin:0 16px 16px;padding:16px}}@media (max-width:580px){.control-header{padding:12px 16px}.control-header h2{font-size:1.5rem}.team-score{padding:12px}.score{font-size:2rem}.game-clock{min-width:90px;font-size:1.75rem}.period-display{font-size:1rem}.status-indicator{font-size:.7rem}.control-tabs{padding:0 10px}.tab-icon{font-size:1rem}.tab-text{white-space:nowrap;text-overflow:ellipsis;max-width:80px;font-size:.75rem;overflow:hidden}.tab-content{margin:0 10px 10px;padding:12px}}@media (max-width:480px){.team-name{max-width:100px;font-size:.9rem}.team-logo{width:30px;height:30px}.tab-text{max-width:60px}}@media (max-height:800px){.control-header{padding:12px 16px}.control-header h2{font-size:1.5rem}.score-summary{margin-bottom:12px;padding:12px}.control-tabs{margin-bottom:12px}.tab-content{margin:0 16px 16px;padding:16px}}@media (max-height:700px){.control-header h2{font-size:1.25rem}.score-summary{gap:8px;margin-bottom:8px;padding:8px}.team-score{padding:8px}.score{font-size:1.75rem}.game-clock{font-size:1.5rem}.control-tabs{margin-bottom:8px}.tab-content{margin:0 12px 12px;padding:12px}}@media (max-width:768px) and (max-height:800px){.score-summary,.team-score{padding:8px}.game-status{padding:8px 12px}.control-tabs button{padding:8px 6px}.tab-content{margin:0 10px 10px;padding:10px}}@media (max-width:580px) and (max-height:700px){.control-header{padding:8px 12px}.control-header h2{font-size:1.2rem}.match-name{font-size:.85rem}.score-summary{grid-template-columns:1fr 1fr;grid-template-areas:"status status""home away";gap:6px;margin-bottom:6px;padding:6px}.game-status{gap:6px;padding:6px 8px}.game-clock{min-width:0;font-size:1.25rem}.team-name{font-size:.75rem}.score{font-size:1.5rem}.control-tabs{gap:4px;margin-bottom:6px;padding:0 6px}.control-tabs button{padding:6px 4px}.tab-content{margin:0 6px 6px;padding:8px}.home-team-tab,.away-team-tab{gap:10px}}.game-clock-tab{padding-bottom:20px}.game-clock-container{background-color:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px}.clock-display{background:var(--secondary-bg);border-radius:var(--input-radius);justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;display:flex}.main-clock{color:var(--text-primary);font-family:Roboto Mono,monospace;font-size:2.5rem;font-weight:700}.shot-clock{color:var(--accent-color);background:var(--primary-bg);border-radius:var(--input-radius);min-width:70px;text-align:center;padding:8px 16px;font-size:2rem;font-weight:700}.quarter{background:var(--tertiary-bg);border-radius:var(--input-radius);color:var(--text-primary);padding:8px 16px;font-size:1.5rem;font-weight:600}.clock-controls{grid-template-columns:1fr 1fr;gap:12px}.game-clock-container button{background:linear-gradient(to right,var(--button-color),var(--button-hover));color:#fff;border-radius:var(--input-radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #0003}.game-clock-container button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3b82f666}.game-clock-container button:active{transform:translateY(0);box-shadow:0 1px 2px #3b82f666}.game-clock-container .start-button{background:linear-gradient(to right,var(--success-color),#0d9488);min-width:130px;margin-bottom:8px}.game-clock-container .stop-button{background:linear-gradient(to right,var(--danger-color),#b91c1c);min-width:130px;margin-bottom:8px}.game-clock-container .game-over-button{min-width:130px;opacity:.5;cursor:not-allowed;margin-bottom:8px}.game-clock-container .disabled-button{opacity:.5;cursor:not-allowed}.game-clock-container .quarter-end-button{background:linear-gradient(to right,var(--success-color),#0d9488);min-width:130px;opacity:.5;cursor:not-allowed;margin-bottom:8px}.player-management{background-color:var(--card-bg);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:20px}.player-management h3{color:var(--accent-color);border-bottom:1px solid var(--tertiary-bg);margin-top:0;margin-bottom:16px;padding-bottom:8px;font-size:1.2rem;font-weight:600}.player-stats-table{width:100%;border-collapse:collapse;color:var(--text-primary);margin-bottom:20px}.player-stats-table th,.player-stats-table td{text-align:center;border-bottom:1px solid var(--tertiary-bg);padding:8px 12px}.player-stats-table th{color:var(--text-secondary);background-color:var(--tertiary-bg);font-weight:600}.player-stats-table tr:hover{background-color:#ffffff0d}.player-actions{padding:8px 0}.stat-buttons{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.stat-buttons button{background:linear-gradient(to right,var(--button-color),var(--button-hover));color:#fff;border-radius:var(--input-radius);cursor:pointer;border:none;padding:6px 8px;font-size:.8rem;font-weight:500;transition:all .2s}.stat-buttons .negative-points{background:linear-gradient(to right,var(--danger-color),#b91c1c);color:#fff}.stat-buttons button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #3b82f666}.add-player-form{grid-template-columns:1fr 100px auto auto;align-items:center;gap:10px;margin-bottom:16px;display:grid}.add-player-form input{background-color:var(--input-bg);border:1px solid var(--tertiary-bg);border-radius:var(--input-radius);color:var(--text-primary);padding:10px 12px;font-size:.95rem}.add-player-form input:focus{border-color:var(--button-color);outline:none;box-shadow:0 0 0 2px #3b82f64d}.add-player-form button{background:linear-gradient(to right,var(--button-color),var(--button-hover));color:#fff;border-radius:var(--input-radius);cursor:pointer;border:none;padding:10px 12px;font-size:.95rem;font-weight:600;transition:all .2s}.add-player-form button:last-child{background:linear-gradient(to right,var(--tertiary-bg),var(--secondary-bg))}.player-management>button{background:linear-gradient(to right,var(--accent-color),#d97706);color:#fff;border-radius:var(--input-radius);cursor:pointer;width:100%;border:none;padding:10px 16px;font-size:1rem;font-weight:600;transition:all .2s}.player-management>button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #f59e0b66}.player-management .disabled-button{opacity:.5;cursor:not-allowed}@media (max-width:768px){.clock-controls{grid-template-columns:1fr}.add-player-form{grid-template-rows:auto auto;grid-template-columns:1fr 80px}.add-player-form button:first-of-type{grid-column:1}.add-player-form button:last-child{grid-column:2}.stat-buttons button{padding:4px 6px;font-size:.75rem}.player-stats-table{font-size:.9rem}}@media (max-width:580px){.clock-display{flex-direction:column;align-items:center;gap:10px}.main-clock{font-size:2rem}.shot-clock{font-size:1.75rem}.quarter{font-size:1.25rem}.player-stats-table th,.player-stats-table td{padding:6px 4px;font-size:.8rem}.stat-buttons{gap:4px}.stat-buttons button{padding:3px 5px;font-size:.7rem}}.updating-row{background-color:#ffff001a}.disabled-button{opacity:.5;cursor:not-allowed}