:root,[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a25;--bg-card:#16161f;--accent-primary:#1e3a5f;--accent-secondary:#2d5b8b;--accent-highlight:#4a90d9;--accent-purple:#8b5cf6;--accent-purple-hover:#7c3aed;--accent-contrast:#fff;--accent-secondary-contrast:#fff;--game-stage-glow:#8b5cf621;--game-stage-sheen:#ffffff09;--game-table-oval-bg:linear-gradient(135deg, #24283a, #141721);--game-table-oval-glow:#ffffff1f;--game-table-oval-border:#ffffff1f;--game-table-oval-shadow:inset 0 0 42px #00000075, 0 30px 80px #00000052;--game-table-core-bg:#0a0c1275;--game-table-core-border:#ffffff14;--game-seat-bg:#161822f5;--game-seat-shadow:0 14px 32px #00000047;--game-seat-active-shadow:0 18px 40px #0000004d;--game-role-hidden-bg:#ffffff0a;--game-input-bg:#080d1ceb;--game-panel-bg:#0f172a47;--text-primary:#e8e8f0;--text-secondary:#a0a0b0;--text-muted:#606070;--border-default:#2a2a35;--border-hover:#3a3a45;--success:#10b981;--success-bg:#10b9811a;--danger:#ef4444;--danger-bg:#ef44441a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--info:#3b82f6;--info-bg:#3b82f61a;--shadow:0 4px 6px #0000004d;--shadow-lg:0 10px 25px #0006;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", "Consolas", monospace}[data-theme=light]{--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-tertiary:#f1f3f5;--bg-card:#fff;--accent-primary:#2c5282;--accent-secondary:#4299e1;--accent-highlight:#3182ce;--accent-purple:#6b46c1;--accent-purple-hover:#553c9a;--accent-contrast:#fff;--accent-secondary-contrast:#fff;--game-stage-glow:#6b46c11a;--game-stage-sheen:#3182ce0b;--game-table-oval-bg:linear-gradient(135deg, #eff6ff, #dde7f5);--game-table-oval-glow:#ffffffb8;--game-table-oval-border:#4299e147;--game-table-oval-shadow:inset 0 0 42px #3182ce24, 0 28px 70px #0f172a24;--game-table-core-bg:#ffffffbd;--game-table-core-border:#cbd5e0eb;--game-seat-bg:#fffffff5;--game-seat-shadow:0 14px 32px #0f172a24;--game-seat-active-shadow:0 18px 40px #0f172a29;--game-role-hidden-bg:#6b46c112;--game-input-bg:#fffffff2;--game-panel-bg:#ffffffa8;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#a0aec0;--border-default:#e2e8f0;--border-hover:#cbd5e0;--success:#059669;--success-bg:#0596691a;--danger:#dc2626;--danger-bg:#dc26261a;--warning:#d97706;--warning-bg:#d977061a;--info:#2563eb;--info-bg:#2563eb1a;--shadow:0 2px 4px #0000001a;--shadow-lg:0 10px 15px #0000001a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);text-rendering:optimizelegibility;min-height:100vh;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-width:0;min-height:100vh;display:flex}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit;min-width:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #8b5cf633}50%{box-shadow:0 0 0 8px #8b5cf600}}.animate-slide-up{animation:.5s ease-out both slideUp}.animate-fade-in-scale{animation:.35s ease-out both fadeInScale}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}a{color:var(--accent-highlight);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-secondary)}.navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-default);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;width:100%;max-width:none;min-height:64px;margin:0;padding:0 24px 0 40px;display:flex}.navbar-left{flex-shrink:0;order:1;align-items:center;gap:20px;display:flex}.navbar-links{flex-wrap:nowrap;order:2;align-items:center;gap:12px;margin-left:auto;display:flex}.navbar-menu-toggle{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-tertiary);width:42px;height:40px;color:var(--text-primary);cursor:pointer;padding:9px 10px;display:none}.navbar-menu-toggle span{background:currentColor;border-radius:999px;width:100%;height:2px;margin:4px 0;transition:transform .24s,opacity .2s;display:block}.navbar-menu-open .navbar-menu-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.navbar-menu-open .navbar-menu-toggle span:nth-child(2){opacity:0}.navbar-menu-open .navbar-menu-toggle span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;order:2;justify-content:center;align-items:center;min-width:44px;min-height:40px;padding:8px 12px;font-size:20px;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--border-default);border-color:var(--border-hover)}.navbar-logo{background:linear-gradient(135deg, var(--text-primary), color-mix(in srgb, var(--accent-highlight) 72%, var(--text-primary)));-webkit-text-fill-color:transparent;letter-spacing:0;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;order:1;font-size:24px;font-weight:800;transition:none}.navbar-logo:hover{color:#0000;filter:none;opacity:1}.navbar-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:8px 20px;font-size:15px;font-weight:500;transition:color .25s,background .25s;position:relative}.navbar-link:after{content:"";background:var(--accent-purple);border-radius:1px;width:60%;height:2px;transition:transform .25s;position:absolute;bottom:4px;left:50%;transform:translate(-50%)scaleX(0)}.navbar-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.navbar-link:hover:after{transform:translate(-50%)scaleX(1)}.navbar-link-active{color:var(--accent-contrast);background:var(--accent-purple)}.navbar-link-active:after{display:none}.navbar-link-admin{color:var(--accent-purple)!important;font-weight:600!important}.navbar-avatar{background:var(--bg-tertiary);border:2px solid var(--border-default);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:all .25s;display:flex;overflow:hidden}.navbar-avatar img{object-fit:cover;width:100%;height:100%}.navbar-avatar span{color:var(--text-muted);font-size:15px;font-weight:700}.navbar-avatar:hover{border-color:var(--accent-purple);transform:scale(1.05);box-shadow:0 0 0 3px #8b5cf626}.navbar-dropdown{position:relative}.navbar-account{flex-shrink:0;order:3;margin-left:8px;position:relative}.navbar-dropdown-menu{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);opacity:0;visibility:hidden;z-index:200;min-width:180px;padding:6px;transition:all .2s;position:absolute;top:calc(100% + 10px);right:0;transform:translateY(-8px);box-shadow:0 10px 40px #0006}.navbar-dropdown-open{opacity:1;visibility:visible;transform:translateY(0)}.navbar-dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.navbar-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.navbar-dropdown-danger{color:var(--danger)}.navbar-dropdown-danger:hover{background:var(--danger-bg);color:var(--danger)}.navbar-button{background:linear-gradient(135deg, var(--accent-purple), var(--accent-purple-hover));color:var(--accent-contrast);border-radius:var(--radius-md);cursor:pointer;border:none;padding:8px 22px;font-size:14px;font-weight:600;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 2px 10px #8b5cf659}.navbar-button:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26,#0000);transition:opacity .25s;position:absolute;inset:0}.navbar-button:hover:before{opacity:1}.navbar-button:hover{color:var(--accent-contrast);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf673}.navbar-button:active{transform:translateY(0)}.site-footer{border-top:1px solid var(--border-default);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-primary) 88%, transparent), var(--bg-secondary));margin-top:40px}.site-footer-inner{max-width:1240px;color:var(--text-secondary);text-align:center;justify-items:center;gap:8px;margin:0 auto;padding:18px 24px 26px;font-size:14px;line-height:1.6;display:grid}.site-footer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.site-footer-legal-row{gap:18px}.site-footer-label{color:var(--text-secondary)}.site-footer-link{color:var(--accent-purple);font-weight:600;text-decoration:none}.site-footer-link:hover{text-decoration:underline}.site-footer-divider{color:var(--text-muted)}.home-page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:60px 20px}.hero-section{text-align:center;margin-bottom:60px;padding:100px 20px 80px;position:relative;overflow:hidden}.hero-section:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#8b5cf633 0%,#8b5cf61a 30%,#8b5cf608 60%,#0000 75%);width:900px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-section>*{z-index:1;position:relative}.hero-subtitle{color:var(--text-secondary);-webkit-user-select:text;user-select:text;max-width:600px;margin:0 auto 40px;font-size:18px;line-height:1.7;transition:none;animation:.6s ease-out .1s both slideUp}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;animation:.6s ease-out .2s both slideUp;display:flex}.hero-button{border-radius:var(--radius-md);padding:14px 32px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.hero-button.primary{background:linear-gradient(135deg, var(--accent-purple), var(--accent-purple-hover));color:var(--accent-contrast);box-shadow:0 4px 16px #8b5cf666}.hero-button.primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.hero-button.primary:hover:before{left:100%}.hero-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf680}.hero-button.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-button.secondary:hover{background:var(--border-default);border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.features-section{border-top:1px solid var(--border-default);padding:60px 20px}.features-section h2{text-align:center;color:var(--text-primary);margin-bottom:40px;font-size:28px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;max-width:1000px;margin:0 auto;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:inherit;padding:28px;text-decoration:none;transition:all .3s;display:block;position:relative;overflow:hidden}.feature-icon{border-radius:var(--radius-md);background:var(--bg-tertiary);width:56px;height:56px;color:var(--accent-purple);justify-content:center;align-items:center;margin-bottom:16px;transition:all .3s;display:flex}.feature-card:hover .feature-icon{background:#8b5cf626;transform:scale(1.05)}.stat-card-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.stat-card-header h3{color:var(--text-secondary);margin:0;font-size:16px;font-weight:600}.stat-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-value{margin:0;font-size:36px;font-weight:700;line-height:1.1}.feature-card:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-highlight));transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.feature-card:hover{border-color:var(--accent-purple);transform:translateY(-6px);box-shadow:0 12px 40px #8b5cf626}.feature-card:hover:before{transform:scaleX(1)}.feature-card h3{color:var(--text-primary);margin-bottom:12px;font-size:20px}.feature-card p{color:var(--text-secondary);line-height:1.6}.auth-page{flex:1;justify-content:center;align-items:center;min-height:calc(100vh - 70px);padding:40px 20px;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf60f 0%,#0000 70%);width:500px;height:500px;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.auth-container{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);z-index:1;padding:40px;position:relative}.auth-container h1{color:var(--text-primary);text-align:center;margin-bottom:8px;font-size:28px;font-weight:700}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-top:8px;font-size:15px}.auth-tabs{background:var(--bg-tertiary);border-radius:var(--radius-md);gap:8px;margin-top:24px;margin-bottom:16px;padding:4px;display:flex}.auth-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 16px;font-size:15px;font-weight:600;transition:all .25s}.auth-tab:hover:not(.auth-tab-active){color:var(--text-primary)}.auth-tab-active{background:var(--accent-purple);color:var(--accent-contrast);box-shadow:0 2px 8px #8b5cf64d}.auth-form{flex-direction:column;gap:20px;margin-top:32px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-secondary);font-size:14px;font-weight:500}.form-group input,.form-group select{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);padding:12px 16px;font-size:15px;transition:all .25s}.form-group input:focus,.form-group select:focus{border-color:var(--accent-purple);background:var(--bg-primary);outline:none;box-shadow:0 0 0 3px #8b5cf626,0 2px 8px #8b5cf61a}.form-group input:hover:not(:focus):not(:disabled){border-color:var(--border-hover)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.field-hint{min-height:18px;font-size:13px;font-weight:600;line-height:1.35}.field-hint-checking,.field-hint-idle{color:var(--text-secondary)}.field-hint-success{color:var(--success)}.field-hint-error{color:var(--danger)}.submit-button{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-purple), var(--accent-purple-hover));color:var(--accent-contrast);cursor:pointer;border:none;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 10px #8b5cf659}.submit-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.submit-button:hover:not(:disabled):before{left:100%}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;color:var(--text-secondary);margin-top:24px;font-size:14px}.auth-link a{color:var(--accent-highlight);font-weight:600}.error-message{border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);border:1px solid #ef44444d;padding:12px 16px;font-size:14px}.error-overlay{-webkit-backdrop-filter:blur();opacity:0;pointer-events:none;z-index:4000;background:#0a0e1800;justify-content:center;align-items:center;padding:24px;transition:opacity .3s,background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;inset:0}.error-overlay-visible{opacity:1;pointer-events:auto;-webkit-backdrop-filter:blur(4px);background:#0a0e1861}.error-overlay-card{opacity:0;background:linear-gradient(#ffffffeb,#fff4f4e0);border:1px solid #f8717147;border-radius:24px;width:min(520px,100%);padding:22px 24px;transition:transform .3s,opacity .3s;transform:translateY(18px)scale(.96);box-shadow:0 24px 80px #0f172a38}.error-overlay-card-visible{opacity:1;transform:translateY(0)scale(1)}.error-overlay-badge{color:#b91c1c;letter-spacing:.04em;text-transform:uppercase;background:#ef44441a;border-radius:999px;justify-content:center;align-items:center;margin-bottom:12px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.error-overlay-text{color:#7f1d1d;font-size:17px;font-weight:600;line-height:1.5}@media (width<=640px){.error-overlay-card{border-radius:20px;padding:18px}.error-overlay-text{font-size:15px}}.success-message{border-radius:var(--radius-md);background:var(--success-bg);color:var(--success);border:1px solid #10b9814d;margin:20px 0;padding:12px 16px;font-size:14px}.loading-container{color:var(--text-secondary);justify-content:center;align-items:center;padding:60px 20px;font-size:16px;display:flex}.error-container{color:var(--danger);justify-content:center;align-items:center;padding:60px 20px;font-size:16px;display:flex}.profile-page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.profile-header{text-align:center;border-bottom:1px solid var(--border-default);margin-bottom:40px;padding-bottom:24px}.profile-avatar{background:var(--bg-tertiary);border:3px solid var(--border-default);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 16px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.profile-avatar:hover{border-color:var(--accent-purple);box-shadow:0 0 0 4px #8b5cf61a}.profile-avatar-edit{cursor:pointer}.profile-avatar-edit:hover{border-color:var(--accent-purple);box-shadow:0 0 0 4px #8b5cf626}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-placeholder{color:var(--text-muted);font-size:48px;font-weight:700}.avatar-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:500;transition:all .25s}.avatar-btn:hover{border-color:var(--accent-purple);background:#8b5cf614}.avatar-btn-danger{border-color:var(--danger);color:var(--danger)}.avatar-btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.autocomplete-input{z-index:5;position:relative}.autocomplete-input input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;height:46px;color:var(--text-primary);outline:none;padding:0 16px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.autocomplete-input input::placeholder{color:var(--text-muted)}.autocomplete-input input:hover:not(:focus):not(:disabled){border-color:var(--border-hover);background:var(--bg-secondary)}.autocomplete-input input:focus{border-color:var(--accent-purple);background:var(--bg-secondary);box-shadow:0 0 0 3px #8b5cf626,0 2px 10px #8b5cf61f}.autocomplete-input input:disabled{opacity:.6;cursor:not-allowed}.autocomplete-dropdown{z-index:240;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-card);gap:6px;max-height:260px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 45px #0f172a2e}.autocomplete-dropdown-portal{z-index:5000;position:fixed;inset:auto}.autocomplete-option{border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border:1px solid #0000;padding:10px 12px;transition:background .2s,border-color .2s,transform .2s}.autocomplete-option:hover{border-color:var(--accent-purple);background:color-mix(in srgb, var(--bg-secondary) 78%, var(--accent-purple) 22%);transform:translateY(-1px)}.autocomplete-empty{color:var(--text-secondary);padding:10px 12px;font-size:14px}.profile-header h1{color:var(--text-primary);margin-bottom:8px;font-size:32px;font-weight:700}.profile-club{color:var(--text-secondary);font-size:15px}.profile-theme-form{gap:22px;display:grid}.profile-theme-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-theme-header .submit-button{flex:none}.profile-theme-modes,.profile-theme-base{flex-wrap:wrap;gap:10px;display:flex}.profile-theme-mode,.profile-theme-base button{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);min-height:42px;color:var(--text-secondary);cursor:pointer;padding:10px 16px;font-weight:700;transition:border-color .2s,background .2s,color .2s,transform .2s}.profile-theme-mode:hover,.profile-theme-base button:hover{border-color:var(--border-hover);color:var(--text-primary);transform:translateY(-1px)}.profile-theme-mode.active,.profile-theme-base button.active{border-color:var(--accent-purple);background:var(--accent-purple);color:var(--accent-contrast)}.profile-theme-controls{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch;gap:14px;display:grid}.profile-color-field{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);grid-template-columns:auto 52px auto;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:grid}.profile-color-field input{border:1px solid var(--border-hover);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:52px;height:36px;padding:0}.profile-color-field strong{color:var(--text-primary);font-family:var(--font-mono);justify-self:end;font-size:13px}.profile-theme-preview{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid;padding:18px}.profile-theme-preview-card{border-radius:var(--radius-md);border:1px solid;gap:8px;max-width:520px;padding:18px;display:grid}.profile-theme-preview-card>span{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.profile-theme-preview-card>strong{font-size:22px}.profile-theme-preview-card>p{margin:0;font-size:14px}.profile-theme-preview-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.profile-theme-preview-actions span{border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;font-weight:800}@media (width<=640px){.profile-theme-header{display:grid}.profile-theme-header .submit-button{width:100%}.profile-color-field{grid-template-columns:1fr 52px}.profile-color-field strong{grid-column:1/-1;justify-self:start}}.profile-info{margin-bottom:40px}.info-section{margin-bottom:32px}.info-section h2{color:var(--text-primary);margin-bottom:16px;font-size:20px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.info-value{color:var(--text-primary);font-size:15px}.socials-list{flex-direction:column;gap:8px;display:flex}.socials-list p{color:var(--text-secondary)}.profile-stats,.profile-games{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:24px;padding:24px}.profile-stats h2,.profile-games h2{color:var(--text-primary);margin-bottom:16px;font-size:18px}.stats-placeholder,.games-placeholder{color:var(--text-muted);font-style:italic}.players-page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.players-page h1{color:var(--text-primary);margin-bottom:24px;font-size:32px;font-weight:700}.filters{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.filter-group{align-items:center;gap:12px;display:flex}.filter-group label{color:var(--text-secondary);font-size:14px;font-weight:500}.filter-group select{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-size:14px}.players-table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:100%;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.players-table th,.players-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-default);padding:14px 16px}.players-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-tertiary);font-size:12px;font-weight:600;position:sticky;top:0}.players-table td{color:var(--text-secondary);font-size:14px;transition:color .2s}.players-table tbody tr{transition:background .2s}.players-table th:first-child,.players-table td:first-child,.players-table th:nth-child(2),.players-table td:nth-child(2),.players-table th:nth-child(6),.players-table td:nth-child(6),.players-table th:nth-child(7),.players-table td:nth-child(7),.players-table th:nth-child(8),.players-table td:nth-child(8){text-align:center}.players-table th:first-child{width:64px}.players-table th:nth-child(2){width:72px}.players-table th:nth-child(3){min-width:180px}.players-table tr:hover td{background:var(--bg-secondary);color:var(--text-primary)}.games-page.game-details-page{width:min(1880px,100vw - 24px);max-width:min(1880px,100vw - 24px);padding-top:24px;padding-bottom:24px}.games-page.game-details-page .game-details-status-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;width:100%;min-width:1360px;margin-left:auto;margin-right:auto}.games-page.game-details-page .game-details-topbar,.games-page.game-details-page .game-details-banner{width:100%;min-width:1360px;margin-left:auto;margin-right:auto}.games-page.game-details-page .game-details-status-grid .game-status-card{width:100%;min-width:0}.game-details-layout{grid-template-columns:minmax(360px,.82fr) minmax(980px,1.58fr);align-items:stretch;gap:20px;width:100%;margin-left:auto;margin-right:auto;display:grid}.game-details-sidecard{flex-direction:column;width:100%;min-width:0;height:100%;display:flex;position:static;overflow:visible}.game-details-players-table th,.game-details-players-table td{text-align:center;padding:10px 12px}.game-details-players-table th:nth-child(2),.game-details-players-table td:nth-child(2){text-align:left}.game-details-players-table tbody td{font-size:13px}.game-details-players-table th{font-size:12px}.game-details-sidecard .players-table{flex:1}.game-table-stage{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 48%, var(--game-stage-glow), transparent 34%), linear-gradient(180deg, var(--game-stage-sheen), transparent), var(--bg-card);width:100%;min-width:1360px;box-shadow:var(--shadow-lg);margin:0 auto 24px;padding:22px;position:relative}.mediagame-scoring-stage{min-width:0;min-height:0;padding:22px}.mediagame-score-table{table-layout:fixed;min-width:0;margin-bottom:0}.mediagame-score-table th,.mediagame-score-table td{height:46px;padding:9px 12px}.mediagame-score-table th:first-child,.mediagame-score-table td:first-child{width:72px}.mediagame-score-table th:nth-child(2),.mediagame-score-table td:nth-child(2){text-align:left;width:auto}.mediagame-score-table th:nth-child(3),.mediagame-score-table td:nth-child(3){width:132px}.mediagame-score-table th:nth-child(4),.mediagame-score-table td:nth-child(4),.mediagame-score-table th:nth-child(5),.mediagame-score-table td:nth-child(5),.mediagame-score-table th:nth-child(6),.mediagame-score-table td:nth-child(6),.mediagame-score-table th:nth-child(7),.mediagame-score-table td:nth-child(7){text-align:center;width:116px}.game-table-center{min-height:720px;position:relative;overflow:hidden}.game-table-oval{background:radial-gradient(circle at 50% 45%, var(--game-table-oval-glow), transparent 28%), var(--game-table-oval-bg);border:1px solid var(--game-table-oval-border);width:min(54vw,740px);height:360px;box-shadow:var(--game-table-oval-shadow);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-table-core{background:var(--game-table-core-bg);border:1px solid var(--game-table-core-border);width:min(76%,430px);min-height:170px;box-shadow:var(--shadow);border-radius:34px;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-table-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:12px;display:flex}.game-table-hint{color:var(--text-muted);text-align:center;flex-basis:100%;font-size:11px;font-weight:700}.game-table-mini-timer{color:var(--warning);background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:8px;margin-top:10px;padding:5px 10px;font-family:monospace;font-size:18px;font-weight:900}.game-table-bestmove{gap:6px;display:flex}.game-table-bestmove input{border:1px solid var(--border-default);background:var(--bg-secondary);width:34px;height:34px;color:var(--text-primary);text-align:center;border-radius:8px;font-size:16px;font-weight:900}.game-seat-card{border:1px solid var(--border-default);background:var(--game-seat-bg);width:158px;min-height:128px;box-shadow:var(--game-seat-shadow);-webkit-user-select:none;user-select:none;border-radius:12px;gap:6px;padding:9px;transition:border-color .22s,background .22s,box-shadow .22s,transform .22s;display:grid;position:absolute;transform:translate(-50%,-50%)}.game-seat-card:hover{transform:translate(-50%,-50%)scale(1.025)}@media (width<=1024px){.game-table-stage{min-width:0;padding:14px}.game-table-center{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:980px;display:grid;overflow:visible}.game-table-oval{grid-column:1/-1;width:100%;height:220px;position:relative;top:auto;left:auto;transform:none}.game-seat-card{width:auto;min-height:132px;position:relative;transform:none;top:auto!important;left:auto!important}.game-seat-card:hover{transform:none}.games-page.game-details-page .game-details-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.games-page.game-details-page .game-details-topbar,.games-page.game-details-page .game-details-banner{min-width:0}.game-details-layout{grid-template-columns:1fr}.game-details-sidecard{position:static}}@media (width<=768px){.games-page.game-details-page .game-details-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-details-players-table th,.game-details-players-table td{padding:8px 10px}}@media (width<=480px){.games-page.game-details-page .game-details-status-grid{grid-template-columns:1fr}}.players-table .player-link{color:var(--accent-purple);font-weight:600}.players-table .player-link:hover{text-decoration:underline}.player-cell{align-items:center;min-width:0;display:flex}.player-cell-avatar{background:var(--bg-tertiary);border:1px solid var(--border-default);width:36px;height:36px;color:var(--accent-purple);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;overflow:hidden}.player-cell-avatar img{object-fit:cover;width:100%;height:100%}.player-cell .player-link{min-width:0;display:inline-block}.players-table .rating{color:var(--accent-purple);font-weight:700}.club-rating-table th:nth-child(2),.club-rating-table td:nth-child(2){text-align:left;width:auto;min-width:220px}.club-rating-table th:nth-child(3),.club-rating-table td:nth-child(3),.club-rating-table th:nth-child(4),.club-rating-table td:nth-child(4){text-align:center;white-space:nowrap}.club-rating-table td:nth-child(2) strong,.club-rating-table td:nth-child(2) div{overflow-wrap:anywhere}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.pagination-controls{align-items:center;gap:16px;display:flex}.pagination button{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);cursor:pointer;padding:10px 20px;font-weight:500;transition:all .25s}.pagination button:hover:not(:disabled){border-color:var(--accent-purple);color:var(--accent-purple);background:#8b5cf60d}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .page-info{color:var(--text-secondary);font-size:14px}.pagination .page-size{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.pagination .page-size select{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-card);min-width:76px;color:var(--text-primary);padding:9px 12px;font-weight:600}.table-wrapper .pagination{border-top:1px solid var(--border-default);padding:16px}.clubs-page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.clubs-page h1{color:var(--text-primary);margin-bottom:24px;font-size:32px;font-weight:700}.clubs-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:32px;display:grid}.club-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:left;padding:24px;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.club-card:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-highlight));transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.club-card:hover{border-color:var(--accent-purple);transform:translateY(-6px);box-shadow:0 12px 40px #8b5cf626}.club-card:hover:before{transform:scaleX(1)}.club-card h2{color:var(--text-primary);margin-bottom:8px;font-size:18px}.club-location{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.club-status{text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.club-status-active{background:var(--success-bg);color:var(--success)}.club-status-pending_verification{background:var(--warning-bg);color:var(--warning)}.club-status-rejected{background:var(--danger-bg);color:var(--danger)}.games-page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.games-page h1{color:var(--text-primary);margin-bottom:24px;font-size:32px;font-weight:700}.create-game-button{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-purple), var(--accent-purple-hover));color:var(--accent-contrast);margin-bottom:24px;padding:14px 28px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 10px #8b5cf659}.create-game-button:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.create-game-button:hover:before{left:100%}.create-game-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf673}.games-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.game-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);text-align:left;padding:20px;text-decoration:none;transition:all .3s;position:relative;overflow:hidden}.game-card:before{content:"";background:linear-gradient(90deg, var(--accent-purple), var(--accent-highlight));transform-origin:0;height:2px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.game-card:hover{border-color:var(--accent-purple);transform:translateY(-4px);box-shadow:0 10px 30px #8b5cf61f}.game-card:hover:before{transform:scaleX(1)}.game-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.game-status{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700}.game-status-pending{background:var(--info-bg);color:var(--info)}.game-status-in_progress{background:var(--warning-bg);color:var(--warning)}.game-status-completed{background:var(--success-bg);color:var(--success)}.game-status-cancelled{background:var(--danger-bg);color:var(--danger)}.game-date{color:var(--text-muted);font-size:12px}.game-info p{color:var(--text-secondary);margin:6px 0;font-size:13px}.ticks{border-top:1px solid var(--border-default);width:100%;height:1px;position:relative}#spacer{border-top:1px solid var(--border-default);height:48px;margin-top:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out fadeIn}.gradient-header{background:linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);border-bottom:1px solid var(--border-default)}.empty-state{background:var(--bg-card);border:1px dashed var(--border-default);border-radius:var(--radius-lg);text-align:center;padding:40px}@media (width<=1024px){.navbar-container{padding:0 24px}.navbar-links{gap:12px}.navbar-link{padding:8px 14px;font-size:14px}}@media (width<=768px){.navbar-container{flex-wrap:wrap;min-height:auto;padding:8px 16px}.navbar-left{order:1;justify-content:space-between;width:100%}.navbar-logo{font-size:20px}.navbar-links{border-top:1px solid var(--border-default);order:2;justify-content:center;gap:6px;width:100%;padding-top:8px}.navbar-link{padding:6px 10px;font-size:13px}.navbar-button{padding:6px 14px;font-size:13px}.home-page{padding:24px 16px}.hero-section{padding:32px 0 40px}.hero-section h1{font-size:1.75rem}.hero-subtitle{font-size:15px}.hero-actions{flex-direction:column;align-items:center;gap:12px}.hero-button{text-align:center;width:100%;max-width:280px;padding:12px 24px}.features-section{padding:32px 0}.features-section h2{font-size:22px}.features-grid{grid-template-columns:1fr;gap:16px}.players-table{-webkit-overflow-scrolling:touch;font-size:13px;display:block;overflow-x:auto}.players-table th,.players-table td{white-space:nowrap;padding:10px 12px}.profile-page{padding:24px 16px}.profile-header h1{font-size:24px}.profile-avatar{width:80px;height:80px}.profile-avatar-placeholder{font-size:32px}.auth-page{padding:20px 16px}.auth-container{max-width:100%;padding:24px 20px}.auth-container h1{font-size:24px}.players-page,.clubs-page,.games-page,.tournaments-page{padding:24px 16px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stats-table table{font-size:13px}.stats-table th,.stats-table td{padding:8px 10px}.game-details{padding:24px 16px}}@media (width<=480px){.navbar-logo{font-size:18px}.navbar-link{padding:5px 8px;font-size:12px}.navbar-button{padding:5px 10px;font-size:12px}.hero-section h1{font-size:1.5rem}.hero-subtitle{font-size:14px}.feature-card{padding:20px}.feature-card h3{font-size:18px}.auth-container{padding:20px 16px}.auth-tabs{flex-direction:column;gap:4px}.auth-tab{padding:8px 12px}.players-table{font-size:12px}.players-table th,.players-table td{padding:8px 10px}.stats-grid{grid-template-columns:1fr}}@media (width>=1920px){.hero-section h1{font-size:4.5rem}.hero-subtitle{font-size:22px}.features-grid{grid-template-columns:repeat(4,1fr)}}.game-menu{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.game-menu-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:600}.game-menu-actions{gap:8px;display:flex}.game-menu-actions .game-menu-btn:last-child{margin-left:auto}.game-menu-btn{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 16px;font-size:16px;font-weight:500;transition:all .2s}.game-menu-btn:hover{color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-tertiary)}@media (width<=480px){.game-menu-actions{flex-direction:column}}.participants-grid{gap:12px;display:grid}.participant-row{transform-origin:50%;will-change:transform;z-index:1;grid-template-columns:100px 1fr;align-items:stretch;gap:8px;display:grid;position:relative}.participant-row:focus-within{z-index:120}.participant-row-dragging{z-index:30}.participant-slot{z-index:1;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-primary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:8px;font-size:14px;font-weight:600;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s;display:flex;position:relative}.participant-slot-active{border-color:color-mix(in srgb, var(--accent-highlight) 55%, var(--border-default));background:color-mix(in srgb, var(--accent-highlight) 10%, var(--bg-secondary));box-shadow:0 10px 24px #0f172a14}.participant-player-wrapper{z-index:2;transition:transform .22s,opacity .22s,filter .22s;position:relative;overflow:visible}.participant-player-over{transform:scale(1.015)}.participant-player{z-index:2;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);will-change:transform;grid-template-columns:36px 1fr 1fr;align-items:center;gap:12px;padding:8px 12px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s,background .22s;display:grid;position:relative;overflow:visible}.participant-player-active{z-index:20;border-color:color-mix(in srgb, var(--accent-highlight) 58%, var(--border-default));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-highlight) 10%, var(--bg-secondary)), var(--bg-secondary));transform:translateY(-8px)scale(1.018);box-shadow:0 18px 40px #0f172a38,0 8px 18px #8b5cf633}.participant-player select,.participant-player input{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);padding:8px 12px;font-size:15px;transition:all .25s}.participant-player select:focus,.participant-player input:focus{border-color:var(--accent-purple);background:var(--bg-primary);outline:none;box-shadow:0 0 0 3px #8b5cf626,0 2px 8px #8b5cf61a}.participant-player input:hover:not(:focus):not(:disabled){border-color:var(--border-hover)}.participant-drag-handle{color:var(--text-muted);cursor:grab;touch-action:none;justify-content:center;align-items:center;transition:color .2s,transform .2s;display:flex}.participant-drag-handle:hover{color:var(--text-secondary);transform:scale(1.08)}.participant-drag-handle:active{cursor:grabbing;transform:scale(.94)}@media (width<=768px){.participant-row{grid-template-columns:80px 1fr}.participant-player{grid-template-columns:28px 1fr 1fr;gap:8px}}@media (width<=480px){.participant-row{grid-template-columns:1fr}.participant-player{grid-template-columns:1fr;gap:8px}.participant-drag-handle{justify-content:flex-start;padding-bottom:0}}.table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--bg-card);overflow-x:auto}.table-wrapper table{width:100%;min-width:600px}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}@media (width<=768px){.cards-grid{grid-template-columns:1fr}}.stats-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:24px}.tabs-list{border-bottom:1px solid var(--border-default);-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:16px;display:flex;overflow-x:auto}.tabs-list button{white-space:nowrap;flex-shrink:0}.game-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=768px){.game-status-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (width<=480px){.game-status-grid{grid-template-columns:1fr}}.game-status-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:16px}.game-button-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}@media (width<=768px){.game-button-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.game-button-grid{grid-template-columns:1fr}}.game-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=768px){.game-role-grid{grid-template-columns:1fr}}.role-assignment-list{flex-direction:column;gap:6px;display:flex}.role-assignment-row{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;display:flex}.role-assignment-player{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.role-assignment-seat{text-align:right;font-variant-numeric:tabular-nums;min-width:32px;display:inline-block}.role-assignment-buttons{flex-shrink:0;gap:6px;display:flex}.role-btn{text-align:center;background:var(--bg-tertiary);width:92px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;padding:6px 0;font-size:13px;font-weight:500;transition:all .2s}.role-btn:hover:not(:disabled){border-color:var(--border-hover);color:var(--text-primary)}.role-btn-selected{font-weight:600}.role-btn-disabled,.role-btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=768px){.role-assignment-row{flex-direction:column;align-items:stretch}.role-assignment-buttons{justify-content:space-between}.role-btn{flex:1;width:auto}}.game-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.game-table-wrapper table{width:100%;min-width:500px}.game-btn{border-radius:var(--radius-md);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 16px;font-size:13px;transition:all .2s}.game-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.game-btn-primary{background:linear-gradient(135deg, var(--accent-purple), var(--accent-purple-hover));color:var(--accent-contrast);border:none;box-shadow:0 2px 8px #8b5cf64d}.game-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #8b5cf666}.game-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=900px){.navbar{position:sticky;top:0}.navbar-container{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;min-height:0;padding:10px 16px 8px;display:grid}.navbar-left{justify-content:flex-start;gap:12px;width:auto;min-width:0}.navbar-logo{text-align:left;justify-self:start}.navbar-menu-toggle{display:block}.navbar-links{opacity:0;pointer-events:none;border-top:0;grid-column:1/-1;grid-template-columns:1fr;gap:8px;width:100%;max-height:0;margin-left:0;padding:0;transition:max-height .28s,opacity .22s,transform .22s,padding .22s,border-color .22s;display:grid;overflow:hidden;transform:translateY(-5px)}.navbar-menu-open .navbar-links{border-top:1px solid var(--border-default);opacity:1;pointer-events:auto;max-height:420px;padding:10px 0 2px;overflow:visible;transform:translateY(0)}.navbar-links::-webkit-scrollbar{display:none}.navbar-link,.navbar-button{flex:none;justify-content:center;align-items:center;width:100%;min-height:40px;display:inline-flex}.navbar-link{border:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-tertiary) 86%, transparent);justify-content:space-between;padding:10px 12px;box-shadow:inset 0 1px #ffffff08}.navbar-link:after{display:none}.navbar-link-active{border-color:var(--accent-purple);background:linear-gradient(90deg, #8b5cf629, transparent), color-mix(in srgb, var(--bg-tertiary) 90%, var(--accent-purple));color:var(--text-primary);box-shadow:0 6px 14px #0000001f}.navbar-button{border-radius:var(--radius-sm);white-space:nowrap;min-height:42px}.navbar-dropdown{width:100%}.navbar-avatar{border-radius:var(--radius-sm);width:100%;height:42px}.navbar-dropdown-menu{width:100%;min-width:0;margin-top:8px;display:none;position:static;transform:none}.navbar-dropdown-open{display:block;transform:none}.home-page,.profile-page,.players-page,.clubs-page,.games-page{max-width:100%}.features-grid,.clubs-grid,.games-list,.cards-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.table-wrapper,.game-table-wrapper{border-radius:var(--radius-md);max-width:100%}.players-table{min-width:620px}}@media (width<=768px){:root,[data-theme=dark],[data-theme=light]{--radius-md:8px;--radius-lg:8px;--radius-xl:8px}html{background:var(--bg-primary)}body{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-tertiary) 32%, var(--bg-primary)), var(--bg-primary) 190px), var(--bg-primary);line-height:1.5}.navbar{border-bottom-color:color-mix(in srgb, var(--border-default) 70%, transparent);box-shadow:0 10px 26px #0000002e}.navbar-container{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;min-height:0;padding:10px 12px 8px;display:grid}.navbar-left{justify-content:flex-start;gap:12px;width:auto;min-width:0}.navbar-logo{text-align:left;min-width:0}.navbar-menu-toggle{display:block}.theme-toggle{border-radius:var(--radius-sm);order:0;min-width:40px;min-height:40px;padding:8px}.navbar-links{opacity:0;pointer-events:none;border-top:0;grid-column:1/-1;grid-template-columns:1fr;gap:8px;width:100%;max-height:0;margin-left:0;padding:0;transition:max-height .28s,opacity .22s,transform .22s,padding .22s,border-color .22s;display:grid;overflow:hidden;transform:translateY(-5px)}.navbar-menu-open .navbar-links{border-top:1px solid var(--border-default);opacity:1;pointer-events:auto;max-height:420px;padding:10px 0 2px;overflow:visible;transform:translateY(0)}.navbar-link{border:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-tertiary) 86%, transparent);white-space:nowrap;justify-content:space-between;width:100%;min-height:42px;padding:10px 12px;box-shadow:inset 0 1px #ffffff08}.navbar-link:after{display:none}.navbar-link-active{border-color:var(--accent-purple);background:linear-gradient(90deg, #8b5cf629, transparent), color-mix(in srgb, var(--bg-tertiary) 90%, var(--accent-purple));color:var(--text-primary);box-shadow:0 6px 14px #0000001f}.navbar-button{border-radius:var(--radius-sm);white-space:nowrap;width:100%;min-height:42px;padding:8px 14px}.navbar-dropdown{width:100%}.navbar-avatar{border-radius:var(--radius-sm);width:100%;height:42px}.navbar-dropdown-menu{width:100%;min-width:0;margin-top:8px;display:none;position:static;transform:none}.navbar-dropdown-open{display:block;transform:none}.navbar-dropdown-item{min-height:40px}.site-footer{margin-top:24px}.site-footer-inner{overflow-wrap:anywhere;gap:4px;padding:16px 14px 22px;font-size:13px}.site-footer-row{gap:4px 8px}.site-footer-legal-row{gap:14px}.home-page,.profile-page,.players-page,.clubs-page,.games-page{width:100%;padding:22px 12px}.home-page{padding-top:14px}.hero-section{margin-bottom:22px;padding:28px 0 30px}.hero-section:before{opacity:.9;background:linear-gradient(135deg,#10b98114,#0000 36%),radial-gradient(#4a90d929,#0000 62%);width:100%;height:220px}.hero-section h1,.profile-header h1,.players-page h1,.clubs-page h1,.games-page h1{letter-spacing:0;font-size:24px;line-height:1.15}.hero-subtitle{max-width:100%;margin-bottom:22px;font-size:15px;line-height:1.65}.hero-actions,.game-menu-actions,.pagination{justify-content:center;align-items:stretch;width:100%}.hero-actions{align-items:center}.hero-button,.create-game-button,.submit-button,.pagination button{text-align:center;width:100%;min-height:44px}.hero-button{max-width:320px}.features-section{padding:28px 0}.features-grid,.clubs-grid,.games-list,.cards-grid{gap:14px;margin-top:18px}.feature-card,.club-card,.game-card,.profile-stats,.profile-games,.stats-card,.empty-state{border-radius:var(--radius-md);padding:18px;box-shadow:0 10px 24px #00000024}.feature-card,.club-card,.game-card{background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card)}.feature-card:hover,.club-card:hover,.game-card:hover{transform:none}.stat-card-header{align-items:flex-start}.stat-value{font-size:30px}.auth-page{align-items:flex-start;min-height:auto;padding:18px 12px}.auth-page:before{display:none}.auth-container{border-radius:var(--radius-md);padding:22px 16px;box-shadow:0 18px 44px #00000038}.auth-form{gap:16px;margin-top:24px}.form-group input,.form-group select,.form-group textarea,.participant-player input,.participant-player select{width:100%;min-height:44px}.form-group label{letter-spacing:0;text-transform:uppercase;font-size:12px}.filters,.filter-group{gap:10px;width:100%}.filter-group{flex-direction:column;align-items:stretch}.profile-header{margin-bottom:26px}.info-grid{grid-template-columns:1fr}.profile-avatar{width:88px;height:88px}.profile-avatar-placeholder{font-size:34px}.tabs-list,.auth-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.tabs-list::-webkit-scrollbar{display:none}.auth-tabs::-webkit-scrollbar{display:none}.games-page.game-details-page{width:100%;max-width:100%;padding:16px 10px 22px}.games-page.game-details-page .game-details-topbar,.games-page.game-details-page .game-details-banner,.games-page.game-details-page .game-details-status-grid{width:100%;min-width:0}.game-details-topbar{flex-direction:column;gap:12px;align-items:stretch!important}.game-details-topbar a{text-align:center;justify-content:center;width:100%;min-height:44px}.games-page.game-details-page .game-details-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px!important}.game-status-card{border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card);padding:12px}.game-status-card p{overflow-wrap:anywhere;font-size:17px!important}.game-details-layout{grid-template-columns:1fr;gap:14px}.game-details-layout fieldset,.game-details-sidecard{border-radius:var(--radius-md)!important;padding:16px!important}.game-button-grid,.game-role-grid{grid-template-columns:1fr;gap:8px}.game-details-page button,.game-menu-btn,.game-btn,.role-btn{min-height:42px}.game-details-page button:not(.navbar-avatar):not(.theme-toggle),.game-menu-btn{justify-content:center;width:100%}.role-assignment-row{gap:10px;padding:12px}.role-assignment-player{overflow-wrap:anywhere;align-items:flex-start}.role-assignment-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.role-btn{width:100%}.game-details-sidecard{order:-1}.game-details-sidecard .players-table{min-width:0}.game-details-players-table{min-width:0;box-shadow:none;background:0 0;border:none;display:block}.game-details-players-table colgroup,.game-details-players-table thead{display:none}.game-details-players-table tbody{grid-template-columns:1fr;gap:8px;display:grid}.game-details-players-table tr{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);grid-template-columns:48px minmax(0,1fr);gap:8px 10px;padding:12px;display:grid;box-shadow:0 8px 18px #0000001f}.game-details-players-table td{overflow-wrap:anywhere;border:none;align-items:center;min-width:0;display:flex;text-align:left!important;padding:0!important}.game-details-players-table td:first-child{grid-row:span 5;align-items:flex-start;font-weight:700;color:var(--accent-highlight)!important}.game-details-players-table td:nth-child(2){font-size:15px;font-weight:700}.game-details-players-table td:nth-child(n+3):before{min-width:76px;color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.game-details-players-table td:nth-child(3):before{content:"Роль"}.game-details-players-table td:nth-child(4):before{content:"Статус"}.game-details-players-table td:nth-child(5):before{content:"Фолы"}.game-details-players-table td:nth-child(6):before{content:"Действие"}.participant-row{grid-template-columns:1fr}.participant-player{grid-template-columns:32px 1fr}.participant-player input{grid-column:1/-1}.game-menu{border-radius:var(--radius-md)}.players-page .table-wrapper{background:0 0;border:none;overflow:visible}.players-page .players-table{width:100%;min-width:0;box-shadow:none;background:0 0;border:none;display:block}.players-page .players-table thead{display:none}.players-page .players-table tbody{gap:10px;display:grid}.players-page .players-table tr{border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card);grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px;display:grid;position:relative;box-shadow:0 10px 22px #00000021}.players-page .players-table td{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.players-page .players-table td:before{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.players-page .players-table td:first-child{color:var(--accent-purple);grid-row:1;justify-content:flex-start;align-items:center;min-height:36px;font-size:20px;font-weight:800}.players-page .players-table td:first-child:before{content:""}.players-page .players-table td:nth-child(2){z-index:1;justify-content:flex-start;padding-left:0;padding-right:0;position:absolute;top:14px;right:14px}.players-page .players-table td:nth-child(2) .player-cell-avatar{width:36px;height:36px}.players-page .players-table td:nth-child(2):before{content:""}.players-page .players-table td:nth-child(3):before{content:"Клуб"}.players-page .players-table .rating{color:var(--accent-purple);font-weight:800}.players-page .players-table td:nth-child(2):before,.players-page .players-table td:nth-child(3):before{content:""}.players-page .players-table td:nth-child(3){color:var(--text-primary);grid-area:1/2;justify-content:flex-end;align-items:center;min-height:36px;padding-left:0;padding-right:46px;font-size:16px;font-weight:800}.players-page .players-table td:nth-child(3) .player-cell{width:auto;max-width:100%}.players-page .players-table td:nth-child(3) .player-link{overflow-wrap:anywhere;text-align:right;min-width:0}.players-page .players-table td:nth-child(4):before{content:"Клуб"}.players-page .players-table td:nth-child(5):before{content:"Город"}.players-page .players-table td:nth-child(6):before{content:"Игры"}.players-page .players-table td:nth-child(7):before{content:"Winrate"}.players-page .players-table td:nth-child(8):before{content:"Рейтинг"}.games-page:not(.game-details-page)>div[style*=grid]>div{border-radius:var(--radius-md)!important;padding:18px!important}.games-page:not(.game-details-page) .table-wrapper{background:0 0;border:none;overflow:visible}.games-page:not(.game-details-page) .players-table{min-width:0;display:block}.games-page:not(.game-details-page) .players-table thead{display:none}.games-page:not(.game-details-page) .players-table tbody{gap:10px;display:grid}.games-page:not(.game-details-page) .players-table tr{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);gap:8px;padding:14px;display:grid}.games-page:not(.game-details-page) .players-table td{overflow-wrap:anywhere;text-align:right;border:none;justify-content:space-between;gap:12px;min-width:0;padding:0;display:flex}.games-page:not(.game-details-page) .players-table td:before{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:700}.games-page:not(.game-details-page) .players-table td:first-child:before{content:"ID"}.games-page:not(.game-details-page) .players-table td:nth-child(2):before{content:"Статус"}.games-page:not(.game-details-page) .players-table td:nth-child(3):before{content:"Фаза"}.games-page:not(.game-details-page) .players-table td:nth-child(4):before{content:"Клуб"}.games-page:not(.game-details-page) .players-table td:nth-child(5):before{content:"Режим"}.games-page:not(.game-details-page) .players-table td:nth-child(6):before{content:"Действие"}.clubs-page>div[style*=flex][style*=margin-bottom]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;display:grid!important}.clubs-page>div[style*=flex][style*=margin-bottom] button{width:100%;min-height:42px;padding-inline:10px!important}.clubs-page .club-card{min-height:0}.clubs-page form .submit-button,.clubs-page button.submit-button{width:100%!important}.clubs-page div[style*="justify-content: space-between"],.clubs-page div[style*="justifyContent: space-between"]{align-items:stretch!important}.clubs-page div[style*="position: fixed"]{align-items:flex-end!important;padding:10px!important}}@media (width<=560px){.navbar-logo{text-overflow:ellipsis;max-width:calc(100vw - 96px);font-size:18px;overflow:hidden}.navbar-links{gap:8px}.navbar-link,.navbar-button{padding-inline:10px;font-size:12px}.home-page,.profile-page,.players-page,.clubs-page,.games-page{padding-left:10px;padding-right:10px}.hero-section h1,.profile-header h1,.players-page h1,.clubs-page h1,.games-page h1{font-size:22px}.features-section h2{font-size:20px}.feature-card,.club-card,.game-card,.profile-stats,.profile-games,.stats-card,.empty-state{padding:16px}.clubs-grid,.games-list,.features-grid{grid-template-columns:1fr}.game-header{flex-direction:column;align-items:flex-start;gap:8px}.table-wrapper{margin-left:-2px;margin-right:-2px}.players-table th,.players-table td{padding:10px 12px}.pagination{flex-direction:column}.auth-tabs{flex-direction:row}.auth-tab{min-width:128px}.games-page.game-details-page .game-details-status-grid,.role-assignment-buttons,.participant-player{grid-template-columns:1fr}.participant-drag-handle{border:1px dashed var(--border-default);border-radius:var(--radius-sm);justify-content:center;min-height:32px}.hero-actions{gap:10px}.feature-icon{width:46px;height:46px}.players-page .players-table tr{grid-template-columns:42px minmax(0,1fr)}.players-page .players-table td:nth-child(n+4){grid-column:1/-1}.game-details-players-table tr{grid-template-columns:42px minmax(0,1fr)}.clubs-search-form{grid-template-columns:minmax(0,1fr);display:grid!important}.clubs-search-input,.clubs-search-form button,.club-list-actions button,.club-list-actions .submit-button,.club-details-edit-actions button,.club-details-section-header button{width:100%!important}.club-list-avatar,.clubs-form-avatar,.club-details-hero-avatar,.club-details-info-avatar{width:112px!important;min-width:112px!important;height:112px!important}.club-rating-table td,.club-stats-table td{gap:8px}.clubs-form .submit-button{width:100%!important}.club-rating-table td:before,.club-stats-table td:before{flex-basis:78px}.club-stats-card{min-width:0}}@media (width<=900px){.navbar-container{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.session-expired-banner{line-height:1.35;padding:10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left))!important;font-size:13px!important}.page-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0;overflow-x:auto}.page-tabs::-webkit-scrollbar{display:none}.page-tabs button{touch-action:manipulation;min-height:44px}}@media (width<=768px){.home-page,.profile-page,.players-page,.clubs-page,.games-page,.tournaments-page,.admin-page{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.page-tabs{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom-color:color-mix(in srgb, var(--border-default) 76%, transparent)!important;gap:8px!important;margin-bottom:18px!important;padding-bottom:12px!important;display:grid!important}.page-tabs button{white-space:normal;overflow-wrap:anywhere;width:100%;line-height:1.2;padding:10px 12px!important}.mobile-panel{width:100%;min-width:0;box-shadow:0 12px 28px #00000029;border-radius:var(--radius-md)!important;padding:18px!important}.mobile-panel h2,.mobile-panel h3{overflow-wrap:anywhere;line-height:1.2}.mobile-row-card{overflow-wrap:anywhere;grid-template-columns:1fr;align-items:stretch!important;gap:12px!important;padding:14px!important;display:grid!important}.mobile-row-card>div:last-child{width:100%}.mobile-row-card button,.mobile-row-card .submit-button{width:100%;min-height:44px}.clubs-toolbar{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:14px!important;display:grid!important}.clubs-page-tabs{width:100%;border-bottom:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:0!important;padding-bottom:0!important;display:grid!important}.clubs-page-tabs>button{min-width:0;min-height:46px}.clubs-page-tabs>button:last-child:nth-child(odd){grid-column:1/-1}.clubs-search-form{width:100%;grid-template-columns:minmax(0,1fr) 112px!important;gap:10px!important;max-width:none!important;margin-top:14px!important;margin-left:0!important;display:grid!important}.clubs-search-input{min-width:0}.clubs-overview,.clubs-list,.clubs-manage-grid,.club-details-members,.club-details-requests,.club-details-rating,.club-details-stats{gap:18px!important}.club-details-stats{grid-template-columns:minmax(0,1fr)!important}.clubs-page .mobile-panel,.clubs-page .club-details-content,.clubs-page .club-stats-card,.clubs-page .club-details-requests>div,.clubs-page .club-details-requests>form{background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card)!important;box-shadow:0 10px 22px #00000021!important}.club-list-card{border-radius:var(--radius-md)!important;background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card)!important;grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;align-items:stretch!important;gap:18px!important;min-height:0!important;padding:18px!important;display:grid!important;box-shadow:0 10px 22px #00000021!important}.club-list-card-content,.club-details-hero-body{min-width:0}.club-list-avatar{order:-1;justify-self:center;width:112px!important;min-width:112px!important;height:112px!important}.club-list-info{margin-top:10px!important}.club-list-info p{overflow-wrap:anywhere;margin:0 0 8px}.club-list-actions{grid-template-columns:minmax(0,1fr)!important;margin-top:12px!important;display:grid!important}.clubs-membership-actions,.clubs-invite-actions{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;display:grid!important}.clubs-membership-actions>button,.clubs-invite-actions>button,.club-list-actions>button,.club-list-actions>.submit-button,.club-list-actions>span{width:100%!important}.club-list-actions>span{border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:40px;display:flex}.clubs-page [style*="display: flex"][style*="flexWrap: wrap"]{gap:8px!important}.club-details-hero{grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;align-items:stretch!important;gap:18px!important;padding:20px!important;display:grid!important}.club-details-hero-avatar,.club-details-info-avatar{justify-self:flex-start;width:132px!important;min-width:132px!important;height:132px!important}.club-details-content{border-radius:var(--radius-md)!important;padding:18px!important;box-shadow:0 10px 22px #00000021!important}.club-details-info-layout{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.club-details-section-header{flex-direction:column;align-items:flex-start!important}.club-details-info-table{gap:10px!important}.club-details-info-table>div{grid-template-columns:minmax(0,1fr)!important;gap:4px!important;padding:14px!important}.club-details-edit-top{justify-items:flex-start;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.clubs-form,.club-details-edit-form{gap:14px!important}.clubs-form-top{justify-items:flex-start;grid-template-columns:minmax(0,1fr)!important;display:grid!important}.clubs-form-avatar,.club-details-edit-avatar{width:112px!important;min-width:112px!important;height:112px!important}.clubs-form .submit-button,.clubs-members-block .pagination,.club-details-members .pagination,.club-details-rating .pagination{width:100%}.club-rating-table,.club-stats-table{width:100%;min-width:0;display:block;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important}.club-rating-table thead,.club-stats-table thead{display:none}.club-rating-table tbody,.club-stats-table tbody{gap:12px;display:grid}.club-rating-table tr,.club-stats-table tr{border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card);grid-template-columns:minmax(0,1fr);gap:8px;padding:14px;display:grid;position:relative;box-shadow:0 10px 22px #00000021}.club-rating-table td,.club-stats-table td{text-align:left;overflow-wrap:anywhere;border:0;justify-content:space-between;gap:12px;min-width:0;padding:0;display:flex}.club-rating-table td:before,.club-stats-table td:before{color:var(--text-muted);text-transform:uppercase;flex:0 0 72px;font-size:11px;font-weight:700}.club-rating-table td:nth-child(2){flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;width:100%}.club-rating-table td:nth-child(2):before{margin-bottom:2px}.club-rating-table td:nth-child(2) strong,.club-rating-table td:nth-child(2) div{overflow-wrap:anywhere;word-break:break-word;width:100%;max-width:100%;display:block}.club-rating-table td:first-child:before{content:"Место"}.club-rating-table td:nth-child(2):before{content:"Игрок"}.club-rating-table td:nth-child(3):before{content:"Рейтинг"}.club-rating-table td:nth-child(4):before{content:"Игр"}.club-stats-table td:first-child:before{content:"Место"}.club-stats-table td:nth-child(2):before{content:"Игрок"}.club-stats-table td:nth-child(3):before{content:"Побед/игр"}.club-stats-table td:nth-child(4):before{content:"%"}.mobile-modal-overlay{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))!important;justify-content:center!important;align-items:flex-end!important}.mobile-modal-card{width:100%!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:var(--radius-md) var(--radius-md) 0 0!important;padding:18px!important;box-shadow:0 -16px 44px #00000052!important}.club-modal-card>div:first-child{grid-template-columns:minmax(0,1fr);gap:12px!important;display:grid!important}.club-modal-card>div:first-child button{width:100%;min-height:44px}.profile-edit-form{grid-template-columns:1fr!important}.profile-edit-form .submit-button{width:100%!important}.profile-info-row{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:3px}.avatar-btn{min-height:42px}.player-profile-hero{align-items:flex-start!important;gap:14px!important;margin-bottom:18px!important}.player-profile-avatar{flex:0 0 84px;border-width:2px!important;width:84px!important;height:84px!important}.player-profile-avatar span{font-size:34px!important}.player-profile-heading{min-width:0}.player-profile-heading h1{overflow-wrap:anywhere;line-height:1.15;font-size:26px!important}.player-profile-heading p{overflow-wrap:anywhere}.player-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.player-stat-card{border-radius:var(--radius-md)!important;padding:16px!important}.player-stat-card p:last-child{overflow-wrap:anywhere;line-height:1.1;font-size:28px!important}.game-create-panel>form>.submit-button{bottom:max(10px, env(safe-area-inset-bottom));z-index:5;position:sticky;box-shadow:0 12px 26px #8b5cf657}.admin-review-card{border-radius:var(--radius-md)!important;padding:14px!important}.admin-review-card>div:first-child{grid-template-columns:1fr;gap:12px!important;display:grid!important}.admin-review-card>div:first-child>div:last-child{grid-template-columns:1fr;width:100%;display:grid!important}.admin-review-card button{width:100%;min-height:44px}.admin-review-card span,.admin-review-card p,.admin-review-card strong,.tournament-summary-panel p,.club-card h2,.club-card p{overflow-wrap:anywhere}.tournaments-page .players-table,.admin-page .admin-users-table,.player-profile-page .player-games-table{width:100%;min-width:0;box-shadow:none;background:0 0;border:none;display:block;overflow:visible}.tournaments-page .players-table thead,.admin-page .admin-users-table thead,.player-profile-page .player-games-table thead{display:none}.tournaments-page .players-table tbody,.admin-page .admin-users-table tbody,.player-profile-page .player-games-table tbody{gap:10px;display:grid}.tournaments-page .players-table tr,.admin-page .admin-users-table tr,.player-profile-page .player-games-table tr{border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg, #ffffff06, transparent), var(--bg-card);grid-template-columns:1fr;gap:8px;padding:14px;display:grid;box-shadow:0 10px 22px #0000001f}.tournaments-page .players-table td,.admin-page .admin-users-table td,.player-profile-page .player-games-table td{overflow-wrap:anywhere;min-width:0;color:var(--text-secondary);border:none;justify-content:space-between;align-items:center;gap:12px;display:flex;text-align:right!important;padding:0!important}.tournaments-page .players-table td:before,.admin-page .admin-users-table td:before,.player-profile-page .player-games-table td:before{color:var(--text-muted);text-transform:uppercase;flex:none;font-size:11px;font-weight:700}.tournament-results-table td:first-child:before{content:"Игрок"}.tournament-results-table td:nth-child(2):before{content:"Очки"}.tournament-results-table td:nth-child(3):before{content:"Место"}.tournament-games-table td:first-child:before{content:"Игра"}.tournament-games-table td:nth-child(2):before{content:"Клуб"}.tournament-games-table td:nth-child(3):before{content:"Победитель"}.admin-users-table td:first-child:before{content:"ID"}.admin-users-table td:nth-child(4):before,.admin-users-table td:nth-child(5):before{content:"Статус"}.admin-users-table td:nth-child(6):before{content:"Бан"}.admin-users-table td:nth-child(7):before{content:"Действия"}.admin-users-table td:nth-child(2):before{content:"Ник"}.admin-users-table td:nth-child(3):before{content:"Логин"}.admin-users-table td:nth-child(4):before{content:"Email"}.admin-ban-form,.admin-unban-form{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.admin-ban-form>.submit-button,.admin-unban-form>.submit-button{justify-self:stretch;align-self:stretch!important;width:100%!important}.admin-page .admin-users-table td:nth-child(6){align-items:flex-start}.admin-page .admin-users-table td:nth-child(6) span{text-align:right;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.admin-page .admin-users-table td:nth-child(7){justify-content:flex-start}.admin-page .admin-users-table td:nth-child(7) button{width:100%}.player-profile-page .player-games-table td:first-child,.player-profile-page .player-games-table td:nth-child(2){grid-row:auto;justify-content:space-between;font-size:14px;font-weight:500}.player-profile-page .player-games-table td:first-child:before{content:"Игра"}.player-profile-page .player-games-table td:nth-child(2):before{content:"Дата"}.player-profile-page .player-games-table td:nth-child(3):before{content:"Место"}.player-profile-page .player-games-table td:nth-child(4):before{content:"Роль"}.player-profile-page .player-games-table td:nth-child(5):before{content:"Фолы"}.player-profile-page .player-games-table td:nth-child(6):before{content:"ЛХ"}.player-profile-page .player-games-table td:nth-child(7):before{content:"Результат"}.tournaments-page .players-table td:first-child,.admin-page .admin-users-table td:first-child,.player-profile-page .player-games-table td:first-child{color:var(--text-primary);font-weight:700}@media (hover:none){.feature-card:hover,.club-card:hover,.game-card:hover,.players-table tr:hover td{box-shadow:none;transform:none}}}@media (width<=560px){.page-tabs{grid-template-columns:1fr}.clubs-page-tabs{grid-template-columns:1fr!important}.clubs-page-tabs>button:last-child:nth-child(odd){grid-column:auto}.clubs-search-form{grid-template-columns:minmax(0,1fr)!important}.mobile-panel{padding:16px!important}.player-profile-hero{grid-template-columns:72px minmax(0,1fr);display:grid!important}.player-profile-avatar{flex-basis:72px;width:72px!important;height:72px!important}.player-profile-avatar span{font-size:30px!important}.player-profile-heading h1{font-size:22px!important}.player-stat-grid{grid-template-columns:1fr!important}.mobile-modal-card{padding:16px!important}}@media (width<=360px){.home-page,.profile-page,.players-page,.clubs-page,.games-page,.tournaments-page,.admin-page{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}.mobile-panel,.feature-card,.club-card,.game-card,.empty-state{padding:14px!important}.player-profile-hero{grid-template-columns:1fr!important}.player-profile-avatar{margin:0 auto}.player-profile-heading{text-align:center}}@media (width<=900px){.navbar{background:var(--bg-primary)}.navbar-container{padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));background:linear-gradient(180deg, var(--bg-secondary) 0, var(--bg-secondary) 56px, var(--border-default) 56px, var(--border-default) 57px, var(--bg-primary) 57px, var(--bg-primary) 100%);grid-template-rows:56px auto;grid-template-columns:auto auto minmax(0,1fr) auto;gap:0 8px}.navbar-left{grid-area:1/1;align-self:stretch;align-items:center;display:flex}.navbar-account{z-index:220;grid-area:1/3;place-self:center end;width:auto;margin-left:0}.navbar-menu-toggle{grid-area:1/2;place-self:center start;width:36px;height:34px;margin:0 0 0 4px;padding:7px 8px}.navbar-account{grid-column:4}.navbar-links{grid-row:2}.navbar-menu-toggle span{transform-origin:50%;width:18px;height:2px;margin:3px 0}.navbar-menu-open .navbar-menu-toggle span:first-child{transform:translateY(5px)rotate(45deg)}.navbar-menu-open .navbar-menu-toggle span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.navbar-account .navbar-avatar{border-width:2px;border-radius:50%;width:40px;height:40px}.navbar-account .navbar-dropdown-menu{opacity:0;visibility:hidden;pointer-events:none;width:min(260px,100vw - 24px);min-width:220px;margin-top:0;padding:6px;display:block;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)}.navbar-account .navbar-dropdown-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}@media (width<=560px){.navbar-account .navbar-avatar{width:38px;height:38px}.navbar-account .navbar-dropdown-menu{right:max(0px, env(safe-area-inset-right))}}@media (width<=768px){.hero-section:before{display:none}}.chatbot-page{width:100%;max-width:900px;margin:0 auto;padding:20px}.chatbot-header{text-align:center;margin-bottom:32px}.chatbot-header h1{color:var(--text-primary);margin:0 0 8px;font-size:36px}.chatbot-header p{color:var(--text-secondary);margin:0;font-size:16px}.chatbot-container{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;height:calc(100vh - 250px);min-height:500px;display:flex}.chatbot-messages{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.chatbot-welcome{text-align:center;color:var(--text-secondary);padding:40px 20px}.chatbot-welcome h2{color:var(--text-primary);margin:0 0 16px;font-size:24px}.chatbot-welcome ul{text-align:left;max-width:500px;margin:16px auto;padding-left:20px}.chatbot-welcome li{color:var(--text-secondary);margin:8px 0}.message{align-items:flex-start;gap:12px;display:flex}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;font-size:24px}.message-content{flex-direction:column;gap:4px;max-width:70%;display:flex}.message.user .message-content{align-items:flex-end}.message-text{border-radius:var(--radius-lg);word-break:break-word;padding:12px 16px;line-height:1.5}.message.user .message-text{background:var(--accent-purple);color:#fff;border-bottom-right-radius:4px}.message.bot .message-text{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-bottom-left-radius:4px}.message-model{color:var(--text-muted);padding:0 4px;font-size:12px}.message-sources{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);margin-top:8px;padding:8px 12px;font-size:12px}.message-sources small{color:var(--text-muted);margin-bottom:4px;font-weight:600;display:block}.message-sources ul{margin:0;padding-left:16px}.message-sources li{margin:2px 0;font-size:11px}.typing-indicator{gap:4px;padding:12px 16px;display:flex}.typing-indicator span{background:var(--text-muted);border-radius:50%;width:8px;height:8px;animation:1.4s infinite typing}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chatbot-error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-md);margin:0 24px;padding:12px 16px;font-size:14px}.chatbot-input-area{border-top:1px solid var(--border-default);gap:12px;padding:16px 24px 24px;display:flex}.chatbot-input-area textarea{resize:none;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-primary);flex:1;min-height:60px;max-height:150px;padding:12px 16px;font-family:inherit;font-size:14px;line-height:1.5}.chatbot-input-area textarea:focus{border-color:var(--accent-purple);outline:none}.chatbot-input-area textarea:disabled{opacity:.6;cursor:not-allowed}.chatbot-input-area button{background:var(--accent-purple);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;min-width:120px;padding:12px 24px;font-weight:600;transition:all .2s}.chatbot-input-area button:hover:not(:disabled){background:var(--accent-purple-hover);transform:translateY(-1px)}.chatbot-input-area button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=768px){.chatbot-page{padding:12px 10px max(12px, env(safe-area-inset-bottom));flex-direction:column;min-height:calc(100dvh - 116px);display:flex}.chatbot-header h1{font-size:24px;line-height:1.15}.chatbot-header{text-align:left;margin-bottom:12px}.chatbot-header p{font-size:14px;line-height:1.5}.chatbot-container{border-radius:var(--radius-md);flex:1;height:auto;min-height:0;overflow:hidden;box-shadow:0 14px 34px #0000002e}.chatbot-messages{gap:12px;padding:14px 10px}.chatbot-welcome{text-align:left;padding:22px 10px}.chatbot-welcome h2{font-size:20px}.chatbot-welcome ul{max-width:none;padding-left:18px}.message{gap:8px}.message-avatar{font-size:20px}.message-content{max-width:88%}.message-text{border-radius:var(--radius-md);padding:10px 12px;font-size:14px}.chatbot-input-area{background:color-mix(in srgb, var(--bg-card) 92%, var(--bg-primary));flex-direction:column;gap:10px;padding:10px}.chatbot-input-area textarea{min-height:78px;max-height:120px}.chatbot-input-area button{width:100%;min-width:0;min-height:44px;padding:12px 16px}}@media (width<=420px){.chatbot-page{min-height:calc(100dvh - 108px)}.message-content{max-width:calc(100% - 34px)}}.stats-container{background:0 0;padding:20px}.stats-loading{text-align:center;color:var(--text-primary);padding:40px;font-size:18px}.stats-top-row{grid-template-columns:1fr 2fr;gap:20px;margin-bottom:20px;display:grid}.stats-bottom-row{grid-template-columns:2fr 1fr;gap:20px;display:grid}.stats-table{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-default);overflow:hidden}.stats-table table{border-collapse:collapse;width:100%}.stats-table thead{background:var(--bg-tertiary);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default);font-size:13px;font-weight:600}.stats-table th,.stats-table td{text-align:center;border-right:1px solid var(--border-default);border-bottom:1px solid var(--border-default);color:var(--text-primary);padding:14px 16px;font-size:14px}.stats-table th:last-child,.stats-table td:last-child{border-right:none}.stats-table th{text-align:center}.stats-table td{color:var(--text-primary)}.stats-table tbody tr:last-child td{border-bottom:none}.role-black{background:#0006;border-left:4px solid #000}.role-black td:first-child{color:var(--text-primary);font-weight:600}.role-red{background:#b4323226;border-left:4px solid #b43232}.role-red td:first-child{color:var(--text-primary);font-weight:600}@media (width<=1024px){.stats-top-row,.stats-bottom-row{grid-template-columns:1fr}}@media (width<=640px){.stats-container{padding:0}.stats-top-row,.stats-bottom-row{gap:12px;margin-bottom:12px}.summary-table{max-width:none}.stats-table{border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto;box-shadow:0 10px 22px #0000001f}.stats-table table{min-width:420px}.stats-table th,.stats-table td{white-space:nowrap;padding:10px 12px;font-size:13px}.summary-table table,.best-move-table table{min-width:0}.summary-table th,.summary-table td,.best-move-table th,.best-move-table td{white-space:normal}.summary-table,.best-move-table{overflow:hidden}.summary-table table,.summary-table tbody,.summary-table tr,.summary-table td,.best-move-table table,.best-move-table tbody,.best-move-table tr,.best-move-table td{display:block}.summary-table thead,.best-move-table thead{display:none}.summary-table tbody,.best-move-table tbody{gap:8px;padding:8px;display:grid}.summary-table tr,.best-move-table tr{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);padding:10px}.summary-table td,.best-move-table td{text-align:left;border:none;padding:2px 0}}.stats-table td:first-child{font-weight:500}.summary-table{max-width:300px}.points-table td:nth-child(3){text-align:center}.stats-table tbody tr:nth-child(odd){background:var(--bg-card)}.stats-table tbody tr:nth-child(2n){background:var(--bg-secondary)}.stats-table tbody tr:hover{background:var(--bg-tertiary)}
