.online-players-list{padding:0}.players-header{justify-content:space-between;align-items:center;gap:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.players-header h3{min-width:0;color:var(--color-text);margin:0;font-size:.95rem}.players-header-meta{align-items:center;gap:var(--spacing-sm);display:flex}.reload-countdown{color:var(--color-text-secondary);font-size:.75rem}.players-rating-bucket{align-items:center;gap:2px var(--spacing-xs);min-width:0;color:var(--color-text-secondary);flex-wrap:wrap;flex:1 0 100%;font-size:.78rem;line-height:1.35;display:flex}.players-rating-bucket .rating-bucket-value{overflow-wrap:anywhere;min-width:0;color:var(--color-text);align-items:center;gap:4px;font-weight:600;display:inline-flex}.players-rating-bucket .rating-bucket-sep{color:var(--color-text-secondary)}.players-rating-bucket svg{flex-shrink:0}.no-players+.reload-countdown{text-align:center;margin-top:var(--spacing-xs)}.player-count{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-lg);padding:2px 10px;font-size:.8rem;font-weight:600}.players-list{max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.player-item{padding:var(--spacing-sm) var(--spacing-sm);border-bottom:1px solid var(--color-neutral-200);cursor:pointer;border-radius:var(--radius-sm);justify-content:space-between;align-items:center;transition:background-color .15s;display:flex}.player-item:last-child{border-bottom:none}.player-item:hover{background-color:var(--color-beige-cream)}.player-item.selected{border-color:var(--color-primary);background-color:#2c5f2d14}.player-info{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.player-name{color:var(--color-text);font-size:.9rem;font-weight:600}.player-rating{border-radius:var(--radius-sm);padding:2px 8px;font-size:.875rem;font-weight:500}.player-rating.novice{color:var(--color-neutral-600);background-color:#9696961f}.player-rating.intermediate{color:var(--color-forest-medium);background-color:#4caf501f}.player-rating.advanced{color:var(--color-info);background-color:#2196f31f}.player-rating.expert{color:#9c27b0;background-color:#9c27b01f}.player-rating.master{color:var(--color-warning);background-color:#ff98001f}.player-rating.grandmaster{color:var(--color-error);background-color:#f443361f}.player-rating.legend{color:#b8960c;background-color:#ffd70026}.status-badge{border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:500}.status-badge.available{color:var(--color-success);background-color:#27ae601f}.status-badge.playing{color:var(--color-warning);background-color:#f39c121f}.status-badge.away{color:var(--color-neutral-600);background-color:#9e9e9e1f}.player-busy{color:var(--color-text-secondary);font-size:.75rem;font-style:italic}.player-watch-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0 var(--spacing-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm,6px);color:var(--color-primary);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.player-watch-btn:hover{background-color:rgba(var(--color-primary-rgb,33, 150, 243), .1)}.player-actions{align-items:center;gap:var(--spacing-xs,6px);flex-shrink:0;display:flex}.player-profile-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0 var(--spacing-sm);border-radius:var(--radius-sm,6px);color:var(--color-text-secondary,#6b6257);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #00000029;flex-shrink:0;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.player-profile-btn:hover{background-color:#0000000d}.player-challenge-btn{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0 var(--spacing-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm,6px);background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.player-challenge-btn:hover{filter:brightness(1.08)}@media (width<=400px){.player-watch-btn span,.player-profile-btn span,.player-challenge-btn span{display:none}.player-watch-btn,.player-profile-btn,.player-challenge-btn{justify-content:center;padding:0}}.player-selected-badge{color:var(--color-primary);font-size:1.1rem;font-weight:700}.login-required,.no-players{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-md);font-size:.9rem}.error-message{color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-align:center;background-color:#e74c3c14}.reconnect-message{color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-align:center;background-color:#7f7f7f14}.reconnect-message .reload-countdown,.error-message .reload-countdown{opacity:.75;white-space:nowrap}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);width:24px;height:24px;margin:var(--spacing-md) auto;border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.players-list::-webkit-scrollbar{width:5px}.players-list::-webkit-scrollbar-track{background:var(--color-neutral-200);border-radius:3px}.players-list::-webkit-scrollbar-thumb{background:var(--color-brown-light);border-radius:3px}.players-list::-webkit-scrollbar-thumb:hover{background:var(--color-brown-medium)}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:.01ms!important;animation-iteration-count:1!important}}.connected-users-modal.dashboard-modal{max-width:520px}.connected-users-modal .play-online-body{flex-direction:column;gap:14px;min-width:0;display:flex}.connected-users-modal .play-online-head h2{align-items:center;gap:8px;min-width:0;display:flex}.connected-head-count{border-radius:var(--radius-lg);background-color:var(--color-primary);color:#fff;flex:none;padding:2px 10px;font-size:.8rem;font-weight:600}.guest-challenge-notice{background:#d4a4371f;border:1px solid #d4a4374d;border-radius:14px;flex-direction:column;gap:10px;padding:14px;font-size:.88rem;display:flex}.guest-challenge-notice p{margin:0}.guest-notice-login{min-height:var(--touch-target-min);color:var(--color-text);font:inherit;cursor:pointer;background:#ffffffe6;border:1px solid #00000024;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.connected-users-modal .players-list{max-height:none;overflow:visible}.custom-table-overlay.dashboard-modal{max-width:480px}.custom-table-overlay .play-online-body{flex-direction:column;gap:16px;min-width:0;display:flex}.custom-table-overlay .modal-actions .primary{min-height:var(--touch-target-min);font-weight:700}.custom-table-overlay .challenge-players-section{margin-bottom:0}.custom-table-overlay .players-scroll{-webkit-overflow-scrolling:touch;max-height:40vh;overflow-y:auto}.custom-table-overlay .modal-actions{flex-direction:column;align-items:stretch}.custom-table-overlay .modal-actions button:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.custom-table-overlay .modal-actions .invite-link-btn{color:var(--color-forest-dark,#2c5f2d);background:#2c5f2d0f;border:1px solid #2c5f2d59}.custom-table-overlay .modal-actions .invite-link-btn:hover:not(:disabled){background:#2c5f2d1f}
