:root{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--accent-primary: #4a9eff;--accent-hover: #6ab0ff;--border-color: #333333;--success: #4ade80;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--radius-md: 12px;--footer-height: 52px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);padding-bottom:var(--footer-height)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;padding:var(--spacing-lg);padding-top:var(--spacing-md)}.site-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:200}.site-nav-brand{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);text-decoration:none;font-weight:600}.site-nav-logo{font-size:1.35rem;line-height:1}.site-nav-title{font-size:1.05rem}.site-nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px var(--spacing-sm)}.site-nav-link{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:.9rem;white-space:nowrap}.site-nav-link:hover,.site-nav-link-active{color:var(--text-primary);background:var(--bg-tertiary)}.site-nav-discord{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;color:#b5bac1;text-decoration:none;font-size:.9rem;white-space:nowrap}.site-nav-end{display:inline-flex;align-items:center;gap:4px;justify-self:end}.site-nav-mailbox{position:relative}.site-nav-mailbox-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer}.site-nav-mailbox-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.site-nav-mailbox-icon{width:18px;height:18px}.site-nav-mailbox-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent-primary);color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center}.site-nav-mailbox-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:min(320px,calc(100vw - 24px));background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 12px 28px #00000073;z-index:300;overflow:hidden}.site-nav-mailbox-header{padding:10px 12px;font-size:.85rem;font-weight:600;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.site-nav-mailbox-empty{margin:0;padding:14px 12px;color:var(--text-secondary);font-size:.85rem}.site-nav-mailbox-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.site-nav-mailbox-item{display:block;padding:10px 12px;color:var(--text-secondary);text-decoration:none;font-size:.85rem;border-bottom:1px solid var(--border-color)}a.site-nav-mailbox-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.site-nav-mailbox-item.is-unread{color:var(--text-primary);background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-secondary))}.site-nav-mailbox-footer{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--border-color)}.site-nav-mailbox-footer a{color:var(--accent-primary);text-decoration:none;font-size:.85rem}.site-nav-mailbox-footer a:hover{text-decoration:underline}.site-nav-discord:hover{color:#fff;background:#5865f2}.site-nav-discord-icon{width:18px;height:18px;flex-shrink:0}.lobby-main-section+.lobby-main-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.open-games-section .section-title,.new-game-section-wrapper .section-title{margin:0 0 var(--spacing-md)}.new-game-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.new-game-mode-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--bg-tertiary);border-radius:10px;width:fit-content;max-width:100%}.new-game-mode-tab{border:none;background:transparent;color:var(--text-secondary);padding:6px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:.9rem}.new-game-mode-tab:hover:not(:disabled){color:var(--text-primary)}.new-game-mode-tab:disabled{opacity:.45;cursor:not-allowed}.new-game-mode-tab.active{background:var(--bg-primary);color:var(--text-primary)}.create-game-panel,.welcome-modal h2{margin-top:0}.welcome-copy{color:var(--text-secondary);line-height:1.5}.welcome-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.welcome-link-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.tutorial-setup-copy{color:var(--text-secondary);line-height:1.5;margin:0 0 var(--spacing-md)}button,input{font:inherit}.lobby-page{min-height:0;padding:0}.lobby-header-actions .secondary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-primary);white-space:nowrap}.lobby-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.lobby-quick-links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.lobby-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.lobby-header h1{margin:0;font-size:1.5rem}.lobby-logo{font-size:1.5rem;line-height:1}.lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--spacing-lg);align-items:start}.lobby-main,.lobby-sidebar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg)}.section-title,.sidebar-title{margin:0 0 var(--spacing-md);font-size:1.1rem}.game-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.game-list-item{display:flex;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.game-list-item--openable{cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.game-list-item--openable:hover,.game-list-item--openable:focus-visible{border-color:var(--accent-primary);background:var(--bg-secondary);outline:none}.game-open-hint{align-self:center;color:var(--accent-primary);font-size:.85rem;font-weight:600;white-space:nowrap}.game-list-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:.9rem}.game-time-control{color:var(--text-primary);font-weight:600}.game-settings{color:var(--text-secondary)}.game-visibility.private{color:var(--accent-primary)}.game-status.waiting{color:var(--success)}.game-players{display:flex;gap:var(--spacing-sm);align-items:center}.game-vs{color:var(--text-muted)}.game-list-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.game-cancel-challenge-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid rgba(229,57,53,.45);border-radius:var(--radius-sm);background:transparent;color:#e53935;font-size:1.35rem;line-height:1;cursor:pointer}.game-cancel-challenge-btn:hover{background:#e539351f}.game-status.your-turn{color:var(--accent-primary);font-weight:700}.game-status.correspondence-turn{font-weight:600}.primary-btn,.secondary-btn,.auth-provider-btn,.option-btn,.text-btn{cursor:pointer;border-radius:8px;border:1px solid var(--border-color);padding:10px 14px;background:var(--bg-tertiary);color:var(--text-primary)}.primary-btn{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.primary-btn:hover,.secondary-btn:hover,.auth-provider-btn:hover,.option-btn:hover{filter:brightness(1.08)}.option-btn:disabled,.option-btn:disabled:hover{cursor:not-allowed;opacity:.45;filter:none}.primary-btn.compact,.secondary-btn.compact{padding:8px 12px}.secondary-btn{background:transparent}.text-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 8px}.empty-state{color:var(--text-secondary)}.empty-state-sub{color:var(--text-muted);font-size:.9rem}.auth-panel-copy{color:var(--text-secondary);margin-bottom:var(--spacing-md)}.auth-provider-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-provider-btn{width:100%;text-align:left}.sidebar-user-bar{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--spacing-md)}.sidebar-username{font-weight:600}.sidebar-staff-link{display:inline-block;margin-top:var(--spacing-xs);color:var(--accent-primary);font-size:.85rem;text-decoration:none}.sidebar-staff-link:hover{text-decoration:underline}.sidebar-handle{color:var(--text-muted);font-size:.85rem}.sidebar-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.sidebar-tab{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px;border-radius:8px}.sidebar-tab.active{color:var(--text-primary);border-color:var(--accent-primary)}.main-chat{display:flex;flex-direction:column;gap:var(--spacing-md);min-height:360px}.main-chat-messages{flex:1;min-height:280px;max-height:420px;overflow-y:auto;padding-right:4px}.chat-message{display:flex;flex-direction:column;margin-bottom:var(--spacing-sm)}.chat-message-deleted{font-style:italic;color:var(--text-muted)}.chat-mod-delete{align-self:flex-start;font-size:.75rem;padding:0;margin-top:2px;color:var(--text-muted)}.chat-mod-delete:hover{color:#c62828}.chat-sender{font-weight:600;font-size:.85rem}.chat-sender-rating{font-weight:500;color:var(--text-secondary)}.chat-sender-link,.sidebar-username-link,.online-username-link{color:inherit;text-decoration:none}.chat-sender-link:hover,.sidebar-username-link:hover,.online-username-link:hover{text-decoration:underline}.staff-badge{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;margin-left:.2em;border-radius:50%;color:#fff;font-size:.72em;font-weight:700;line-height:1;vertical-align:middle}.staff-badge-moderator{background:#d97706}.staff-badge-admin{background:#7c3aed}.chat-text{color:var(--text-secondary)}.main-chat-form{display:flex;gap:var(--spacing-sm)}.chat-input,.form-field input{flex:1;width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}.online-users-list{list-style:none;margin:0;padding:0}.online-user-item{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border-color)}.online-invite-btn{flex-shrink:0}.room-invite-details{margin:0 0 var(--spacing-md);padding-left:1.2rem;color:var(--text-secondary)}.online-rating{color:var(--text-secondary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);z-index:20}.modal-panel{width:min(100%,480px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg)}.modal-panel.create-game-modal{max-height:calc(100vh - 2 * var(--spacing-lg));display:flex;flex-direction:column;overflow:hidden}.create-game-form{display:flex;flex-direction:column;min-height:0;flex:1}.create-game-form-scroll{overflow-y:auto;min-height:0;flex:1;padding-right:var(--spacing-xs)}.create-game-form fieldset{border:none;margin:0 0 var(--spacing-md);padding:0}.create-game-form legend{margin-bottom:var(--spacing-sm);color:var(--text-secondary)}.option-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.draft-settings-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.draft-setting-label{display:block;margin-bottom:var(--spacing-sm);color:var(--text-secondary);font-size:.85rem}.create-game-form .modal-actions{margin-top:var(--spacing-md)}.create-game-error{margin:var(--spacing-sm) 0 0;color:#f87171;font-size:.85rem}.draft-setting-block .setting-hint{margin:var(--spacing-xs) 0 0;color:var(--text-muted);font-size:.8rem}.balance-testing-toggle{display:block;width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-align:left;cursor:pointer}.balance-testing-panel{margin-top:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.time-control-sections{display:flex;flex-direction:column;gap:var(--spacing-md)}.time-control-section{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.time-control-section:last-child{border-bottom:0;padding-bottom:0}.time-control-section-title{color:var(--accent-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--spacing-sm)}.option-btn.active{border-color:var(--accent-primary);color:var(--accent-primary)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.lobby-password-spectate-btn{display:block;width:100%;margin-top:var(--spacing-sm)}.correspondence-invite-url-label{display:block;margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-size:14px}.correspondence-invite-url-row{display:flex;gap:var(--spacing-sm);align-items:stretch;margin-bottom:var(--spacing-sm)}.correspondence-invite-url-input{flex:1;min-width:0;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:14px}.correspondence-invite-notify-note{margin:0 0 var(--spacing-md);color:var(--text-muted);font-size:13px}@media (max-width: 900px){.lobby-layout{grid-template-columns:1fr}}.admin-page .admin-toolbar{display:flex;gap:var(--spacing-md);align-items:end;margin-bottom:var(--spacing-lg)}.admin-page .form-field.inline{flex:1;margin-bottom:0}.admin-error{color:#f87171;margin-bottom:var(--spacing-md)}.admin-signed-in-as{margin:var(--spacing-xs) 0 0;color:var(--text-secondary);font-size:.95rem}.admin-report-users{margin-bottom:var(--spacing-md)}.admin-report-users p{margin:0 0 var(--spacing-xs)}.admin-chat-context-title{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:1rem}.admin-layout{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:var(--spacing-lg)}.admin-report-items{list-style:none;margin:0;padding:0}.admin-report-btn{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px;padding:12px;margin-bottom:8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary)}.admin-report-btn.active{border-color:var(--accent-primary)}.admin-report-meta{color:var(--text-muted);font-size:.8rem}.admin-chat-context{max-height:360px;overflow-y:auto;margin:var(--spacing-md) 0;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:8px}.admin-report-notes{color:var(--text-secondary)}.admin-user-section{margin-bottom:var(--spacing-xl)}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.admin-recent-users{margin-top:var(--spacing-xl)}.admin-user-search-row{display:flex;gap:var(--spacing-md);align-items:end;margin-bottom:var(--spacing-md)}.admin-user-search-field{flex:1;max-width:420px}.admin-user-results{list-style:none;margin:0;padding:0}.admin-user-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:12px;margin-bottom:8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary)}.admin-user-info{display:flex;flex-direction:column;gap:4px}.admin-user-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.admin-bans-table-wrap{overflow-x:auto;border:1px solid var(--border-color);border-radius:8px}.admin-bans-table{width:100%;border-collapse:collapse;font-size:.95rem}.admin-bans-table th,.admin-bans-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-color);vertical-align:top}.admin-bans-table th{color:var(--text-secondary);font-weight:600;background:var(--bg-tertiary)}.admin-bans-table tbody tr:last-child td{border-bottom:none}.admin-ban-reason{max-width:28rem;white-space:pre-wrap;word-break:break-word}.admin-ban-status{text-transform:capitalize;font-size:.85rem}.admin-ban-status-active{color:#f87171}.admin-ban-status-expired,.admin-ban-status-revoked{color:var(--text-muted)}.verified-badge{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;margin-left:.2em;border-radius:50%;background:#3b82f6;color:#fff;font-size:.72em;font-weight:700;line-height:1;vertical-align:middle}.waiting-opponent-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-sm);flex-shrink:0}.waiting-opponent-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin:0 var(--spacing-lg) var(--spacing-lg);padding:var(--spacing-md);border-radius:10px;border:1px solid var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 12%,var(--bg-secondary))}.waiting-opponent-copy{margin:4px 0 0;color:var(--text-secondary)}.waiting-opponent-copy.subtle{font-size:.85rem;color:var(--text-muted)}.waiting-opponent-toggle{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);white-space:nowrap}.lobby-alert-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:var(--spacing-md);padding:14px 18px;border-radius:10px;border:1px solid #22c55e;background:#14532d;color:#ecfdf5;box-shadow:0 10px 30px #00000040}.lobby-alert-dismiss{color:#bbf7d0}.username-picker-alert-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);margin:var(--spacing-md) 0;color:var(--text-secondary);font-size:.92rem}@media (max-width: 900px){.admin-layout{grid-template-columns:1fr}}.profile-page{min-height:100vh;padding:var(--spacing-lg);max-width:960px;margin:0 auto}.profile-header{margin-bottom:var(--spacing-lg)}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.profile-identity h1{margin:0 0 var(--spacing-sm)}.profile-handle{margin:0 0 var(--spacing-sm);color:var(--accent-primary)}.profile-copy,.profile-status{color:var(--text-secondary)}.profile-copy.subtle{margin-top:var(--spacing-sm);font-size:.9rem}.profile-setting-row{display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--text-primary);cursor:pointer}.profile-setting-row input{margin-top:.2rem}.profile-ratings-sections{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.profile-ratings-section-title{margin:0 0 var(--spacing-sm);font-size:1rem;font-weight:600;color:var(--text-secondary)}.profile-ratings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-top:0}.profile-rating-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-md)}.profile-rating-label{color:var(--text-secondary);font-size:.85rem;margin-bottom:var(--spacing-sm)}.profile-rating-value{font-size:1.75rem;font-weight:700}.profile-provisional{color:var(--text-muted);font-size:1rem;margin-left:4px}.profile-rating-meta{color:var(--text-muted);font-size:.8rem;margin-top:var(--spacing-sm)}.profile-links-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--spacing-sm)}.profile-links-item{display:grid;gap:2px}.profile-links-label{color:var(--text-secondary);font-size:.85rem}.profile-links-value{color:var(--accent-primary);word-break:break-word}.profile-links-form,.profile-links-fields{display:grid;gap:var(--spacing-md)}.profile-links-field{display:grid;gap:var(--spacing-xs)}.profile-links-field-label{color:var(--text-secondary);font-size:.9rem}.profile-links-input{width:100%;padding:.65rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary)}.profile-links-input:focus{outline:2px solid var(--accent-primary);outline-offset:1px}.profile-links-error{color:#f87171;margin:0}.profile-links-saved{color:var(--text-secondary);margin:0}.profile-links-save{justify-self:start}.profile-history-table-wrap{overflow-x:auto}.profile-history-list{margin-top:var(--spacing-sm)}.profile-history-item{align-items:flex-start}.profile-history-link{cursor:pointer;transition:border-color .15s ease,background .15s ease}.profile-history-link:hover{border-color:var(--accent-primary, #4a9eff);background:#4a9eff0a}.profile-history-time-class,.profile-history-date{color:var(--text-muted)}.profile-history-color{color:var(--text-secondary);font-size:.9rem}.profile-history-outcome{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm);align-items:baseline}.profile-history-result-label{font-weight:600}.profile-history-result-label.win{color:var(--success)}.profile-history-result-label.loss{color:#f87171}.profile-history-result-label.draw{color:var(--text-secondary)}.profile-history-termination{color:var(--text-secondary);font-size:.9rem}.profile-history-aborted{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.35)}.profile-history-rating{display:flex;align-items:center;font-weight:600;flex-shrink:0}.profile-history-table{width:100%;border-collapse:collapse}.profile-history-table th,.profile-history-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);text-align:left}.profile-history-table a{color:var(--accent-primary);text-decoration:none}.rating-delta.positive{color:var(--success)}.rating-delta.negative{color:#f87171}.rating-delta.neutral{color:var(--text-secondary)}.username-picker{display:flex;flex-direction:column;gap:var(--spacing-md)}.username-picker-label{color:var(--text-secondary);font-size:.9rem}.username-picker-input-row{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:0 var(--spacing-md)}.username-prefix{color:var(--text-muted)}.username-picker-input-row input{flex:1;border:0;background:transparent;color:var(--text-primary);padding:var(--spacing-md) 0}.username-picker-status{margin:0;font-size:.9rem}.username-picker-status.error{color:#f87171}.username-picker-status.success{color:var(--success)}.sidebar-handle{color:var(--text-secondary);text-decoration:none}.sidebar-handle:hover{color:var(--accent-primary)}.rankings-page{min-height:100vh;padding:var(--spacing-lg);max-width:960px;margin:0 auto}.rankings-header h1{margin:var(--spacing-md) 0 var(--spacing-sm)}.rankings-copy{margin:0;color:var(--text-secondary)}.rankings-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.rankings-pool-tabs{margin-bottom:0}.rankings-pool-tabs+.rankings-tabs{margin-top:var(--spacing-sm)}.rankings-tab{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:999px;padding:8px 14px;cursor:pointer}.rankings-tab.active{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 18%,var(--bg-tertiary))}.rankings-status{color:var(--text-secondary)}.rankings-status.error{color:#f87171}.rankings-table-wrap{overflow-x:auto}.rankings-table{width:100%;border-collapse:collapse}.rankings-table th,.rankings-table td{padding:12px 10px;border-bottom:1px solid var(--border-color);text-align:left}.rankings-table th{color:var(--text-secondary);font-size:.85rem;font-weight:600}.rankings-player-link{color:var(--text-primary);text-decoration:none;font-weight:600}.rankings-player-link:hover{color:var(--accent-primary)}.rankings-handle{display:block;color:var(--text-muted);font-size:.85rem}.rankings-provisional{margin-left:4px;color:var(--text-muted)}.rankings-diff-positive{color:var(--success)}.rankings-diff-negative{color:#f87171}.questions-page{min-height:100vh;padding:var(--spacing-lg);max-width:720px;margin:0 auto}.questions-header h1{margin:var(--spacing-md) 0 var(--spacing-sm)}.questions-copy,.questions-feedback{margin:0 0 var(--spacing-sm);color:var(--text-secondary);line-height:1.6}.questions-feedback{margin-bottom:var(--spacing-lg)}.questions-inline-link{color:var(--accent-primary);text-decoration:none}.questions-inline-link:hover{text-decoration:underline}.questions-sections{display:flex;flex-direction:column;gap:var(--spacing-xl)}.questions-section{border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-lg);background:color-mix(in srgb,var(--bg-tertiary) 55%,transparent)}.questions-section-title{margin:0 0 var(--spacing-sm);font-size:1.15rem}.questions-section-intro{margin:0 0 var(--spacing-md);color:var(--text-secondary);line-height:1.55}.questions-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:var(--spacing-sm)}.questions-list li{color:var(--text-primary);line-height:1.55}.site-rules-page{min-height:100vh;padding:var(--spacing-lg);max-width:720px;margin:0 auto}.site-rules-header h1{margin:var(--spacing-md) 0 var(--spacing-sm)}.site-rules-meta{margin:0 0 var(--spacing-sm);color:var(--text-secondary);font-size:.95rem}.site-rules-intro{margin:0 0 var(--spacing-lg);color:var(--text-secondary);line-height:1.6}.site-rules-sections{display:flex;flex-direction:column;gap:var(--spacing-xl)}.site-rules-section{border:1px solid var(--border-color);border-radius:12px;padding:var(--spacing-lg);background:color-mix(in srgb,var(--bg-tertiary) 55%,transparent)}.site-rules-section h2{margin:0 0 var(--spacing-md);font-size:1.15rem}.site-rules-section h3{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:1rem}.site-rules-section p{margin:0 0 var(--spacing-sm);color:var(--text-primary);line-height:1.55}.site-rules-section p:last-child{margin-bottom:0}.site-rules-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:var(--spacing-sm)}.site-rules-list li{color:var(--text-primary);line-height:1.55}.site-rules-link{color:var(--accent-primary);text-decoration:none}.site-rules-link:hover{text-decoration:underline}.chat-sender-friend,.user-action-menu-friend .user-action-trigger{color:var(--success)}.friends-online{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.friends-online-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.friends-online-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px}.user-action-menu{position:relative;display:inline-flex}.user-action-trigger{display:inline;padding:0;border:none;background:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left}.user-action-trigger:hover{text-decoration:underline}.user-action-popover{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;z-index:250;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 24px #0006;padding:4px;display:flex;flex-direction:column}.user-action-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;text-decoration:none;font-size:.85rem;cursor:pointer}.user-action-item:hover:not(:disabled){background:var(--bg-tertiary)}.user-action-item:disabled{color:var(--text-muted);cursor:default}.user-action-error{margin:4px 8px 6px;font-size:.75rem;color:#f87171}.social-page{max-width:960px;margin:0 auto}.social-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.social-page-header h1{margin:0 0 4px}.social-page-copy{margin:0;color:var(--text-secondary)}.social-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.notification-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.notification-item{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:4px}.notification-item.is-unread{border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--border-color));background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-secondary))}.notification-item-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border:none;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:8px}.notification-item-main:hover{background:var(--bg-tertiary)}.notification-item-summary{color:var(--text-primary);font-size:.95rem}.notification-item-time{color:var(--text-muted);font-size:.8rem}.messages-layout{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:var(--spacing-md);min-height:420px}.messages-list-panel,.messages-thread-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.messages-conversation-list{list-style:none;margin:0;padding:0;max-height:560px;overflow-y:auto}.messages-conversation-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:12px;border:none;border-bottom:1px solid var(--border-color);background:transparent;color:inherit;text-align:left;cursor:pointer}.messages-conversation-item:hover,.messages-conversation-item.is-active{background:var(--bg-tertiary)}.messages-conversation-name{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text-primary)}.messages-conversation-preview{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.messages-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary)}.messages-thread-panel{display:flex;flex-direction:column;min-height:420px}.messages-thread-header{padding:12px 14px;border-bottom:1px solid var(--border-color);font-weight:600}.messages-thread-header a{color:var(--accent-primary);text-decoration:none}.messages-thread-header a:hover{text-decoration:underline}.messages-thread-messages{flex:1;padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.messages-bubble{align-self:flex-start;max-width:min(420px,90%);padding:10px 12px;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.messages-bubble.is-mine{align-self:flex-end;background:color-mix(in srgb,var(--accent-primary) 18%,var(--bg-tertiary));border-color:color-mix(in srgb,var(--accent-primary) 35%,var(--border-color))}.messages-bubble p{margin:0 0 4px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.messages-bubble time{font-size:.72rem;color:var(--text-muted)}.messages-compose{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border-color)}.messages-error{margin-bottom:var(--spacing-md);color:#f87171}.profile-social-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--spacing-md)}.profile-social-actions .secondary-btn,.profile-social-actions .primary-btn{text-decoration:none}.profile-friends-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px}.profile-friends-list a{color:var(--accent-primary);text-decoration:none}.profile-friends-list a:hover{text-decoration:underline}.profile-setting-select{flex-direction:column;align-items:stretch;gap:8px}.profile-setting-select select{max-width:240px;padding:8px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}@media (max-width: 720px){.messages-layout{grid-template-columns:1fr}}
