*{box-sizing:border-box;margin:0;padding:0}.game-501-auto{display:flex;flex-direction:column;height:100vh;background:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.game-mode-header{background:#1a1a1a;padding:8px;text-align:center;font-size:.75rem;color:#999;border-bottom:1px solid #333}.calibration-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:20px;text-align:center;background:#1a1a1a}.loader-container{display:flex;flex-direction:column;align-items:center;gap:20px}.loader{border:4px solid rgba(255,255,255,.1);border-top:4px solid #ff6b35;border-radius:50%;width:60px;height:60px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.video-container{position:relative;width:100%;max-width:640px;aspect-ratio:1 / 1;margin:0 auto;background:#000;overflow:hidden;border:3px solid #ff6b35}.video-feed{width:100%;height:100%;object-fit:cover}.detection-overlay{position:absolute;top:10px;right:10px;z-index:10}.detection-status{display:flex;align-items:center;gap:6px;background:#22c55ee6;padding:5px 10px;border-radius:6px;font-size:.65rem;font-weight:600;color:#fff}.pulse-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.player-turn-overlay{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#000000b3;padding:6px 16px;border-radius:15px;font-size:.85rem;font-weight:600;color:#fff}.darts-scores-bar{display:flex;gap:0;background:#1a1a1a;border-top:2px solid #333}.dart-score-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;background:#2d2d2d;border-right:1px solid #444;cursor:pointer;transition:all .2s ease}.dart-score-box:last-child{border-right:none}.dart-score-box.scored{background:linear-gradient(135deg,#22c55e,#16a34a)}.dart-score-box.scored:active{background:linear-gradient(135deg,#16a34a,#15803d)}.dart-score-box.empty{background:#2d2d2d}.dart-number{font-size:.7rem;opacity:.7;margin-bottom:4px;font-weight:600}.dart-value{font-size:2.5rem;font-weight:700;color:#fff}.dart-score-box.empty .dart-value{opacity:.3}.volley-summary{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#1f1f1f,#2d2d2d);border-top:2px solid #444;border-bottom:2px solid #444}.volley-total{display:flex;align-items:center;gap:12px;background:#fbbf241a;padding:8px 16px;border-radius:8px;border:1px solid rgba(251,191,36,.3)}.volley-label{font-size:1rem;color:#ccc;font-weight:600}.volley-value{font-size:2.2rem;font-weight:700;color:#fbbf24}.btn-validate{padding:12px 28px;background:linear-gradient(135deg,#ff6b35,#ff8c42);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ff6b354d}.btn-validate:disabled{opacity:.4;cursor:not-allowed}.btn-validate:active:not(:disabled){transform:scale(.98);box-shadow:0 1px 4px #ff6b3580}.players-scores{display:flex;gap:0;background:#1a1a1a;flex:1}.player-card{flex:1;background:#2d2d2d;padding:12px;border-right:1px solid #444;display:flex;flex-direction:column;justify-content:center}.player-card:last-child{border-right:none}.player-card.active{background:linear-gradient(135deg,#ff6b35,#ff8c42)}.player-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.player-name{font-size:.85rem;font-weight:600;color:#fff}.player-sets{font-size:.7rem;background:#0000004d;padding:3px 8px;border-radius:10px;color:#fff}.player-score-main{font-size:2.5rem;font-weight:700;text-align:center;margin:8px 0;color:#fff}.player-stats{display:flex;justify-content:space-around;padding-top:8px;border-top:1px solid rgba(255,255,255,.2)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label{font-size:.65rem;opacity:.7;color:#fff}.stat-value{font-size:.85rem;font-weight:700;color:#fff}@media(max-width:480px){.dart-value,.player-score-main{font-size:2rem}.volley-value{font-size:1.8rem}.volley-label{font-size:.9rem}.btn-validate{padding:10px 20px;font-size:.9rem}}
