.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:var(--color-on-accent);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);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{background-color:var(--color-primary-veil);border-color:var(--color-primary)}.player-info{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.player-info--link{appearance:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit;text-align:left;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:6px;margin:-6px 0;padding:6px 0;position:relative}button.player-info--link:hover .player-name,button.player-info--link:focus-visible .player-name{color:var(--color-primary-ink);text-decoration:underline}button.player-info--link:focus-visible{outline:2px solid var(--color-forest-dark);outline-offset:2px}.player-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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-text-secondary);background-color:#9696961f}.player-rating.intermediate{color:var(--color-primary-ink-hover);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{overflow-wrap:anywhere;border-radius:10px;flex-wrap:wrap;align-items:center;gap:0 4px;max-width:100%;padding:2px 8px;font-size:.7rem;font-weight:500;display:inline-flex}.status-badge.playing{background-color:var(--color-error-veil);color:var(--color-error-text)}.status-badge.waiting{background-color:var(--color-success-veil);color:var(--color-success-text)}.status-badge .variant-flag{font-size:.85rem;line-height:1}.status-badge.away{color:var(--color-text-secondary);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-ink);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-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:var(--color-on-accent);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)}.player-item:hover:not(:has(.player-info--link:hover)) .player-challenge-btn{filter:brightness(1.08)}.player-item:hover:not(:has(.player-info--link:hover)) .player-watch-btn{background-color:rgba(var(--color-primary-rgb,33, 150, 243), .1)}@media (width<=400px){.player-watch-btn span,.player-challenge-btn span{display:none}.player-watch-btn,.player-challenge-btn{justify-content:center;padding:0}}.player-selected-badge{color:var(--color-primary-ink);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);background-color:var(--color-error-veil);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-align:center}.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:var(--color-on-accent);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);border:1px solid var(--color-hairline-strong);background:var(--color-frost-solid);color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.table-choice{background:var(--color-bg);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:10px;padding:14px;font-size:.88rem;display:flex}.table-choice-title{margin:0;font-weight:600}.table-choice-chips{flex-wrap:wrap;gap:6px;display:flex}.table-choice-chip{background:var(--color-veil);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;display:inline-flex}.table-choice-note,.table-choice-barred,.table-choice-error{margin:0;font-size:.8rem}.table-choice-note{color:var(--color-text-secondary)}.table-choice-barred{color:var(--color-warning-text)}.table-choice-error{color:var(--color-error-text)}.table-choice-action{min-height:var(--touch-target-min);border:1px solid var(--color-hairline-strong);background:var(--color-frost-solid);color:var(--color-text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:inline-flex}.table-choice-action.is-sit{background:var(--color-primary);color:var(--color-on-accent);border-color:#0000}.table-choice-action.is-cancel{color:var(--color-text-secondary);background:0 0;border-color:#0000;font-weight:500}.table-choice-action:disabled{opacity:.6;cursor:default}.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{border:1px solid var(--color-primary-glow-strong);color:var(--color-primary-ink,#2c5f2d);background:#2c5f2d0f}.custom-table-overlay .modal-actions .invite-link-btn:hover:not(:disabled){background:var(--color-primary-veil)}
