*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;border:none;background:none;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:0;border:none;background:none;color:inherit}input:focus,textarea:focus,select:focus{outline:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit;margin:0}p{margin:0}#root{min-height:100vh;width:100%;position:relative}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--text-on-strong-colored)}::-moz-selection{background-color:var(--color-primary);color:var(--text-on-strong-colored)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}:root,html[data-theme=dark]{--color-background: #0a0a0a;--color-background-card: #1a1a1a;--color-bg-inset: #0f0f0f;--color-table-header: #141414;--color-table-row-alt: #222222;--color-code-bg: #111111;--input-placeholder-color: #6b7280;--card-border-color: #2a2a2a;--color-surface: #1a1a1a;--color-surface-elevated: #27272a;--color-border: #374151;--color-border-light: #2d2d2d;--color-border-strong: #333333;--navbar-bg: #18181b;--navbar-border: #27272a;--nav-link: #d4d4d8;--nav-link-hover-bg: #1e293b;--nav-link-hover-fg: #38bdf8;--lang-btn-bg: #27272a;--lang-btn-border: #3f3f46;--color-scrollbar-track: #1a1a1a;--color-scrollbar-thumb: #374151;--color-scrollbar-thumb-hover: #4b5563;--color-text-primary: #ffffff;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-disabled: #6b7280;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-success: #16a34a;--color-success-hover: #15803d;--color-success-light: #22c55e;--color-warning: #fbbf24;--color-error: #ef4444;--color-error-light: #f87171;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 50%;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--modal-backdrop: rgba(0, 0, 0, .45);--color-row-hover: rgba(255, 255, 255, .02);--accent-violet: #8b5cf6;--accent-violet-hover: #7c3aed;--accent-violet-muted: #c4b5fd;--accent-violet-ghost-fg: #eae8ff;--accent-violet-soft-bg: rgba(139, 92, 246, .12);--accent-violet-soft-border: rgba(139, 92, 246, .35);--accent-blue-on-surface: #93c5fd;--vs-accent: #f87171;--highlight-amber: #fbbf24;--podium-text-on-medal: #1a1a1a;--ui-indicator-muted: #4b5563;--text-on-strong-colored: #ffffff;--stat-positive: #34d399;--stat-negative: #f87171;--color-error-strong: #b91c1c;--accent-orange: #f97316;--accent-orange-muted: #fb923c;--accent-magenta: #ec4899;--on-amber-text: #92400e;--amber-badge-fg: #fef08a;--surface-muted-bg: rgba(148, 163, 184, .12);--fill-primary-soft: rgba(59, 130, 246, .12);--fill-primary-border: rgba(59, 130, 246, .22);--fill-primary-strong: rgba(59, 130, 246, .2);--chart-grid-stroke: #374151}html[data-theme=light]{--color-background: #f1f5f9;--color-background-card: #ffffff;--color-bg-inset: #f8fafc;--color-table-header: #e8eef5;--color-table-row-alt: #f8fafc;--color-code-bg: #f1f5f9;--input-placeholder-color: #64748b;--card-border-color: #e2e8f0;--color-surface: #ffffff;--color-surface-elevated: #f1f5f9;--color-border: #cbd5e1;--color-border-light: #e2e8f0;--color-border-strong: #94a3b8;--navbar-bg: #ffffff;--navbar-border: #e2e8f0;--nav-link: #475569;--nav-link-hover-bg: #f1f5f9;--nav-link-hover-fg: #6d28d9;--lang-btn-bg: #f8fafc;--lang-btn-border: #cbd5e1;--color-scrollbar-track: #e2e8f0;--color-scrollbar-thumb: #94a3b8;--color-scrollbar-thumb-hover: #64748b;--color-text-primary: #0f172a;--color-text-secondary: #334155;--color-text-muted: #64748b;--color-text-disabled: #94a3b8;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-success: #15803d;--color-success-hover: #166534;--color-success-light: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-error-light: #dc2626;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .05);--modal-backdrop: rgba(15, 23, 42, .4);--color-row-hover: rgba(15, 23, 42, .045);--accent-violet: #7c3aed;--accent-violet-hover: #6d28d9;--accent-violet-muted: #6d28d9;--accent-violet-ghost-fg: #5b21b6;--accent-violet-soft-bg: rgba(124, 58, 237, .1);--accent-violet-soft-border: rgba(124, 58, 237, .28);--accent-blue-on-surface: #1d4ed8;--vs-accent: #e11d48;--highlight-amber: #d97706;--podium-text-on-medal: #0f172a;--ui-indicator-muted: #64748b;--text-on-strong-colored: #ffffff;--stat-positive: #059669;--stat-negative: #dc2626;--color-error-strong: #991b1b;--accent-orange: #c2410c;--accent-orange-muted: #ea580c;--accent-magenta: #db2777;--on-amber-text: #92400e;--amber-badge-fg: var(--on-amber-text);--surface-muted-bg: rgba(15, 23, 42, .06);--fill-primary-soft: rgba(37, 99, 235, .1);--fill-primary-border: rgba(37, 99, 235, .22);--fill-primary-strong: rgba(37, 99, 235, .16);--avatar-placeholder-from: #e0e7ff;--avatar-placeholder-to: #ede9fe;--avatar-placeholder-initials: #3730a3;--chart-grid-stroke: #e2e8f0}html[data-theme=light] ::selection{background-color:#ddd6fe;color:#0f172a}html[data-theme=light] ::-moz-selection{background-color:#ddd6fe;color:#0f172a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-in-out}.animate-slide-up{animation:slideInUp .3s ease-out}.animate-slide-down{animation:slideInDown .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media(max-width:640px){html{font-size:14px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.4}h1,h2,h3,h4,h5,h6{page-break-after:avoid}p,blockquote,pre{page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")"}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.navbar-header.normal-flow{width:100%;align-items:center;background:var(--navbar-bg);border-bottom:1.5px solid var(--navbar-border);margin:0 0 1.5rem;transition:background .2s ease,border-color .2s ease}.navbar-content.header-row{display:flex;align-items:center;width:100%;padding:.9rem 2rem;position:relative}.logo-section{flex:1 1 0;display:flex;align-items:center;min-width:0}.nav-mobile-panel{flex:6 1 0;display:flex;justify-content:center;align-items:center;min-width:0}.nav-menu{flex:5 1 0;display:flex;justify-content:center;align-items:center;gap:2rem;min-width:0}.app-title{align-items:center;font-weight:700;font-size:1.05rem}.nav-link{font-size:.9rem;color:var(--nav-link);text-decoration:none;font-weight:700;padding:.35rem .8rem;border-radius:.5rem;transition:background .15s,color .15s}.nav-link:hover{background:var(--nav-link-hover-bg);color:var(--nav-link-hover-fg)}.nav-link-active{background:var(--accent-violet);color:var(--text-on-strong-colored)}.nav-right{flex:1 1 0;display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border-radius:.375rem;border:1px solid var(--lang-btn-border);background:var(--lang-btn-bg);color:var(--nav-link);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-toggle-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.language-toggle{display:flex;gap:.25rem}.lang-btn{padding:.35rem .6rem;font-size:.8rem;font-weight:600;border:1px solid var(--lang-btn-border);background:var(--lang-btn-bg);color:var(--nav-link);border-radius:.375rem;cursor:pointer;transition:all .15s}.lang-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.lang-btn-active{background:var(--accent-violet);border-color:var(--accent-violet);color:var(--text-on-strong-colored)}.nav-auth-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;border:none;color:var(--text-on-strong-colored)}.nav-login-button{background:var(--accent-violet)}.nav-login-button:hover{background:var(--accent-violet-hover);transform:translateY(-1px)}.nav-logout-button{background:var(--color-error)}.nav-logout-button:hover{background:var(--color-error-strong);transform:translateY(-1px)}.nav-profile-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;background:var(--accent-violet);color:var(--text-on-strong-colored);transition:all .15s}.nav-profile-link:hover{background:var(--color-primary);color:var(--text-on-strong-colored);transform:translateY(-1px)}.nav-admin-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:700;background:var(--highlight-amber);color:var(--text-on-strong-colored);transition:all .15s}.nav-admin-link:hover{background:var(--accent-orange);color:var(--text-on-strong-colored);transform:translateY(-1px)}.user-avatar{flex:1 2 1;width:2.3rem;height:2.3rem;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:100%;display:flex;align-items:center;justify-content:center;justify-self:right}.user-icon{width:1.4rem;height:1.4rem}.navbar-backdrop,.navbar-hamburger{display:none}@media(max-width:768px){.navbar-content.header-row{padding:.75rem 1rem}.navbar-backdrop{display:block;position:fixed;inset:0;background:var(--modal-backdrop);z-index:999}.navbar-hamburger{display:flex;align-items:center;justify-content:center;margin-left:auto;width:2.5rem;height:2.5rem;background:var(--lang-btn-bg);border:1px solid var(--lang-btn-border);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer}.nav-mobile-panel{position:fixed;top:0;right:0;bottom:0;width:min(85vw,320px);background:var(--navbar-bg);border-left:1px solid var(--navbar-border);flex-direction:column;align-items:stretch;padding:1rem;gap:0;transform:translate(100%);transition:transform .25s ease;box-shadow:var(--shadow-lg);flex:none;justify-content:flex-start;z-index:1000}.nav-mobile-panel.nav-mobile-panel-open{transform:translate(0)}.nav-menu{flex:none;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--navbar-border);margin-bottom:.75rem}.nav-link{padding:.75rem 1rem;width:100%;text-align:left}.nav-right{flex-direction:column;align-items:stretch;gap:.5rem}.nav-auth-button{padding:.75rem 1rem;justify-content:flex-start}}.tournament-container{background-color:var(--color-background-card);color:var(--color-text-primary);padding:1.5rem;border-radius:.5rem;border:1px solid var(--card-border-color);box-shadow:var(--shadow-md);margin:0 auto;width:100%;margin-bottom:1.5rem}.tournament-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0rem}.tournament-info{flex:1;min-width:0}.tournament-fees-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:.5rem;font-weight:600;font-size:.8125rem;border:1px solid var(--fill-primary-border);background:var(--fill-primary-soft);color:var(--color-primary);cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.tournament-fees-btn:hover{background:var(--fill-primary-strong);border-color:var(--color-primary)}.tournament-title{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;margin-top:0}.progress-section{margin-top:.5rem}.progress-text{color:var(--highlight-amber);font-size:.85rem;margin-bottom:.5rem;margin-top:0}.progress-bar{width:97%;background-color:var(--color-border);border-radius:.15rem;height:.5rem;overflow:hidden}.progress-fill{background-color:var(--accent-violet);height:100%;border-radius:.15rem;transition:width .3s ease}.tournament-stats{font-size:.85rem;text-align:right;color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:flex-end}.stat-item{margin-bottom:.25rem}.stat-item-groups{margin-bottom:.35rem}.tournament-stats-action{margin-top:.35rem;width:100%;display:flex;justify-content:flex-end}.stat-value{font-weight:600;color:var(--color-text-primary)}html[data-theme=light] .tournament-stats .stat-label{color:var(--color-text-secondary)}html[data-theme=light] .tournament-stats .stat-value{color:#0f172a;font-weight:700}@media(max-width:768px){.tournament-container{padding:1rem;margin-bottom:1rem}.tournament-header{flex-direction:column;gap:1rem}.tournament-title{font-size:1.1rem;line-height:1.4;word-break:break-word;min-width:0}.progress-bar{width:100%}.tournament-stats{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem 1.25rem;text-align:left;align-items:flex-start;padding-top:.5rem;border-top:1px solid var(--card-border-color)}.stat-item,.stat-item-groups{margin-bottom:0}.tournament-stats-action{flex-basis:100%;justify-content:flex-start;margin-top:.25rem}}@media(max-width:480px){.tournament-container{padding:.75rem 1rem}.tournament-title{font-size:1rem}.tournament-stats{flex-direction:column;gap:.5rem 1rem}}.stage-tabs{border:1px solid var(--card-border-color);background-color:var(--color-background-card);border-radius:.5rem;padding:.15rem;margin-bottom:1.5rem;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem}.tabs-container{display:flex;flex:1;min-width:0}.stage-tabs-trailing{flex-shrink:0;margin-left:auto;display:flex;align-items:center}.stage-tabs-cycle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:.5rem;border:1px solid var(--accent-violet-soft-border);background:var(--accent-violet-soft-bg);color:var(--accent-violet-muted);font-weight:600;font-size:.875rem;cursor:pointer}.stage-tabs-cycle-btn:hover{background:#8b5cf633}html[data-theme=light] .stage-tabs-cycle-btn:hover{background:#7c3aed29}.stage-tab{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:all .2s;background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.stage-tab:hover{background-color:var(--color-surface-elevated)}.stage-tab-active{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.stage-tab{white-space:nowrap}@media(max-width:768px){.stage-tabs{margin-bottom:1rem}.stage-tabs-trailing{margin-left:0;width:100%;justify-content:flex-end;padding:.25rem .15rem .1rem}.tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.25rem;padding-bottom:.25rem}.stage-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.8rem;min-height:40px}}@media(max-width:480px){.stage-tab{padding:.45rem .6rem;font-size:.75rem;min-height:38px}}.group-tabs{border:1px solid var(--card-border-color);background-color:var(--color-background-card);border-radius:.5rem;padding:.15rem;margin-bottom:1.5rem;width:100%}.tabs-container{display:flex}.group-tab{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:all .2s;background:none;border:none;cursor:pointer;color:var(--color-text-muted)}.group-tab:hover{background-color:var(--color-surface-elevated)}.group-tab-active{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.group-tab{white-space:nowrap}@media(max-width:768px){.group-tabs{margin-bottom:1rem}.tabs-container{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.25rem;padding-bottom:.25rem}.group-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.8rem;min-height:40px}}@media(max-width:480px){.group-tab{padding:.45rem .6rem;font-size:.75rem;min-height:38px}}.bar-section{flex:1;display:flex;align-items:center;gap:.5rem}.search-container{flex:1;display:flex;align-items:center;position:relative}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:1.25rem;height:1.25rem}.search-input{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.5rem 1rem .5rem 2.5rem;color:var(--color-text-primary);width:100%;outline:none;transition:border-color .2s}.search-input::placeholder{color:var(--input-placeholder-color)}.clear-btn{display:none;align-items:center;padding:.5rem .75rem;margin-left:.5rem;background:var(--color-error);color:var(--text-on-strong-colored);border-radius:.5rem;border:none;cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s}.clear-btn .clear-icon{margin-right:.25rem}.clear-btn:hover{background:var(--color-error-strong)}.clear-btn.show{display:inline-flex}.standings-panel,.matches-panel{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;padding:0rem}.panel-title{font-size:1rem;font-weight:600;padding:1rem;border-bottom:1px solid var(--card-border-color);color:var(--color-text-primary)}.standings-table{display:flex;flex-direction:column;gap:.1rem}.standings-table-header{display:grid;grid-template-columns:.6fr 5fr 1fr 1fr 1fr;gap:.2rem;color:var(--color-text-muted);background-color:var(--color-table-header);font-size:.875rem;font-weight:600;padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;border-bottom:1px solid var(--card-border-color)}.player-row{display:grid;grid-template-columns:.6fr 5fr 1fr 1fr 1fr;gap:.2rem;border-bottom:1px solid var(--card-border-color);padding:.75rem 0 .75rem 1rem;transition:background-color .2s;font-size:.875rem;color:var(--color-text-primary)}.player-row:last-child{border-bottom:none}.player-row:hover{background-color:var(--color-row-hover);border-radius:.5rem}.player-rank{color:var(--color-text-secondary)}.player-info{display:flex;align-items:center;gap:.75rem}.player-avatar{width:2rem;height:2rem;background-color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.player-name{font-weight:600}.stat-played{color:var(--color-text-secondary)}.stat-wins{color:var(--color-success-light);font-weight:600}.stat-points{color:var(--stat-negative);font-weight:600}@media(max-width:768px){.standings-panel{padding:0}.panel-title{font-size:.95rem;padding:.75rem 1rem}.standings-table-header,.player-row{grid-template-columns:1.5rem 1fr 2rem 2rem 2rem;padding:.5rem .75rem;font-size:.8rem}.player-row{min-height:44px;align-items:center}.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:480px){.standings-table-header,.player-row{grid-template-columns:1.25rem 1fr 1.75rem 1.75rem 1.75rem;padding:.5rem .6rem;font-size:.75rem}.player-row{min-height:40px}}.match-content-groups{display:grid;grid-template-columns:2.2fr 2fr .5fr 2fr 2fr;align-items:center;gap:.5em;min-height:48px}.match-content-other{display:grid;grid-template-columns:1fr 2fr .5fr 2fr 1.5fr;align-items:center;gap:.5em;min-height:48px}.match-label-col{justify-self:stretch;min-width:0;display:flex;justify-content:center;align-items:center;text-align:center}.match-player1-col{justify-self:stretch;min-width:0;display:flex;justify-content:flex-end;align-items:center;text-align:right;font-size:.875rem;font-weight:700}.match-player2-col{justify-self:start;font-size:.875rem;font-weight:700;display:flex}.match-playervs-col{justify-self:center}.match-result-col{justify-self:end}.match-label{font-size:.85em;color:var(--color-text-muted);text-align:center;font-weight:500}.vs-text{font-size:1em;color:var(--vs-accent);font-weight:400}.match-result{display:flex;align-items:center;justify-content:flex-end}.match-result{display:flex;align-items:center;min-height:40px;gap:.7rem}.match-result-readonly{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary)}.match-result-placeholder{color:var(--color-text-disabled);font-weight:600;padding-right:.5rem}.in-progress-readonly{pointer-events:none;cursor:default;opacity:.95}.completed-match-edit{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.3rem .8rem;border-radius:.5rem;transition:background .15s}.completed-match-edit:hover{background:var(--color-surface-elevated)}.edit-arrow{margin-left:.3rem;opacity:.7;color:var(--accent-violet)}.completed-indicator{margin-left:.2rem;width:1.5em;height:1.5em;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1em}.score-winner,.score-loser{font-weight:600;font-size:1.25rem}.score-winner{color:var(--color-success-light)}.score-loser{color:var(--color-error-light)}.score-separator{margin:0 .3rem;color:var(--color-text-secondary);font-weight:400;font-size:1.25rem}.plus-icon{margin-right:.2rem;margin-top:.05rem;height:16px}.add-result-btn{display:flex;padding:.3rem 1rem .3rem .3rem;border-radius:.5rem;border:none;background:var(--accent-violet);color:var(--text-on-strong-colored);font-weight:600;font-size:.75rem;cursor:pointer;transition:background .15s}.add-result-btn:hover{background:var(--accent-violet-hover)}.match-recalculated-btn{padding:.35rem .75rem;border-radius:.5rem;border:1px solid var(--color-border-subtle, rgba(255, 255, 255, .12));background:var(--surface-muted, rgba(128, 128, 128, .2));color:var(--color-text-muted);font-weight:600;font-size:.75rem;cursor:not-allowed;opacity:.72}.match-recalculate-btn{padding:.35rem .85rem;border-radius:.5rem;border:none;background:var(--accent-violet);color:var(--text-on-strong-colored);font-weight:600;font-size:.75rem;cursor:pointer;transition:background .15s}.match-recalculate-btn:hover:not(:disabled){background:var(--accent-violet-hover)}.match-recalculate-btn:disabled{opacity:.6;cursor:wait}.matches-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.match-card{background-color:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;padding:0rem 1rem}.in-progress-label-pulse{position:absolute;top:14px;left:50px;transform:translate(-40%);background:var(--highlight-amber);color:var(--on-amber-text);font-size:1cqb;font-weight:700;padding:.16em .75em;border-radius:999px;letter-spacing:.05em;line-height:1.25;box-shadow:0 1px 4px color-mix(in srgb,var(--on-amber-text) 16%,transparent);pointer-events:none;z-index:10;animation:pulse-inprogress 1.2s ease-in-out infinite alternate;opacity:1;min-width:0;max-width:calc(100% - 1rem);text-align:center;white-space:nowrap}button.in-progress-label-pulse{pointer-events:auto;cursor:pointer;border:none;font-size:.75rem;font-weight:700;font-family:inherit;line-height:inherit;letter-spacing:inherit}@keyframes pulse-inprogress{0%{box-shadow:0 1px 3px color-mix(in srgb,var(--on-amber-text) 18%,transparent),0 0 color-mix(in srgb,var(--highlight-amber) 45%,transparent)}to{box-shadow:0 1px 5px color-mix(in srgb,var(--on-amber-text) 22%,transparent),0 0 0 3px color-mix(in srgb,var(--highlight-amber) 18%,transparent)}}html[data-theme=light] .in-progress-label-pulse{background:#fde68a;color:#78350f;border:1px solid #d97706;box-shadow:0 1px 2px #78350f2e}.status-modal-btn.danger{background:#ef44441f;border:1px solid rgba(239,68,68,.25)}.completed-match{display:flex;align-items:center;gap:.5rem}.score-winner{font-size:1.2rem;font-weight:700;color:var(--color-success-light)}.score-separator{color:var(--color-text-muted)}.score-loser{font-size:1.2rem;font-weight:700;color:var(--color-error-light)}.completed-match-edit{transition:background .13s}.completed-match-edit:hover{background:var(--color-surface-elevated);border-radius:.5rem}.completed-indicator{margin-left:.25rem;width:1.5em;height:1.5em;background:var(--accent-violet);color:var(--text-on-strong-colored);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1em}.check-mark{font-size:.75rem}.uncompleted-match{display:flex;align-items:center;gap:1rem}.no-score{color:var(--color-text-muted)}.uncompleted-indicator{width:1.2rem;height:1.2rem;background-color:var(--ui-indicator-muted);border-radius:50%}.player-name.clickable:hover{color:var(--highlight-amber)}.partial-match-edit{background:transparent;color:inherit;padding:6px 10px;border-radius:8px}.score-neutral{font-weight:600}.player-winner-name{color:var(--highlight-amber);font-weight:700}.status-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:60}.status-modal{width:360px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:12px;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.status-modal-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:8px}.status-modal-close{background:transparent;color:var(--color-text-muted);border:none;cursor:pointer}.status-modal-body{margin-bottom:10px}.status-modal-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-bg-inset);color:var(--color-text-primary);outline:none}.status-modal-input:focus{border-color:var(--accent-violet);box-shadow:0 0 0 2px #8b5cf640}.status-modal-footer{display:flex;justify-content:flex-end;gap:8px}.status-modal-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border-strong);cursor:pointer}.status-modal-btn.primary{background:#8b5cf626;color:var(--accent-violet);border-color:#8b5cf659}.status-modal-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.table-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.table-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;border-radius:10px;border:1px solid rgba(139,92,246,.35);background:#8b5cf61a;color:var(--accent-violet-ghost-fg);font-weight:700;transition:transform .12s ease,opacity .12s ease,box-shadow .12s ease,filter .12s ease}.table-btn:hover{border-color:var(--accent-violet);box-shadow:0 0 0 2px #8b5cf640}.table-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 14px #8b5cf62e}.table-btn:disabled,.table-btn.is-disabled{opacity:.45;cursor:not-allowed;filter:grayscale(40%);box-shadow:none;border-color:#8b5cf626;background:#8b5cf60f}.table-btn.is-disabled:hover{transform:none;box-shadow:none}.table-btn:not(:disabled):focus-visible{outline:2px solid var(--accent-violet);outline-offset:2px}.result-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:50}.result-modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:var(--shadow-xl);padding:2rem 2.5rem;min-width:340px;color:var(--color-text-primary);display:flex;flex-direction:column;gap:1.25rem;animation:modal-in .18s cubic-bezier(.37,.01,.56,1.17)}.result-modal-title{font-size:1.25rem;font-weight:600;text-align:center}.result-modal-row{display:flex;align-items:center;justify-content:space-between;gap:2rem}.result-modal-player{font-weight:600;color:var(--accent-blue-on-surface);min-width:100px}.result-modal-sets{display:flex;gap:.5rem}.set-btn{padding:.4rem .95rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:1px solid var(--accent-violet);background:var(--color-bg-inset);color:var(--color-text-muted);cursor:pointer;transition:background .17s,color .17s}.set-btn.active,.set-btn:hover{background:var(--accent-violet);color:var(--text-on-strong-colored)}.result-modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:.5rem}.result-modal-btn{padding:.5rem 1.25rem;border-radius:.5rem;border:none;font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s}.result-cancel-btn{background:var(--lang-btn-border);color:var(--color-text-secondary)}.result-cancel-btn:hover{background:var(--ui-indicator-muted)}.result-confirm-btn{background:var(--color-success-light);color:var(--text-on-strong-colored)}.result-confirm-btn:hover{background:var(--color-success)}.add-cycle-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem}.add-cycle-dialog{width:100%;max-width:420px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1rem 1.1rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.add-cycle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.add-cycle-header h2{font-size:1.05rem;font-weight:700;margin:0;color:var(--color-text-primary)}.add-cycle-close{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 .25rem}.add-cycle-close:hover{color:var(--color-text-primary)}.add-cycle-hint{font-size:.85rem;color:var(--highlight-amber);margin:0 0 .75rem}.add-cycle-muted{color:var(--color-text-muted);font-size:.9rem;margin:.5rem 0}.add-cycle-error{color:var(--color-error-light);font-size:.9rem;margin:.5rem 0}.add-cycle-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.add-cycle-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .25rem;cursor:pointer;color:var(--color-text-secondary);font-size:.9rem}.add-cycle-badge{margin-left:auto;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--accent-violet-muted)}.add-cycle-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--card-border-color)}.add-cycle-btn{padding:.5rem .9rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--lang-btn-border)}.add-cycle-btn:disabled{opacity:.5;cursor:not-allowed}.add-cycle-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.add-cycle-btn.primary{background:var(--accent-violet-soft-bg);border-color:var(--accent-violet-soft-border);color:var(--accent-violet-muted)}.add-cycle-btn.primary:hover:not(:disabled){background:#8b5cf638}html[data-theme=light] .add-cycle-btn.primary:hover:not(:disabled){background:#7c3aed29}.confirm-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 1040);padding:1rem}.confirm-modal-box{width:100%;max-width:400px;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.confirm-modal-actions-single{justify-content:stretch}.confirm-modal-actions-single .confirm-modal-btn{width:100%;justify-content:center}.confirm-modal-title{font-size:1.1rem;font-weight:700;margin:0 0 .75rem;color:var(--color-text-primary)}.confirm-modal-message{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 1.25rem}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.confirm-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;border:1px solid var(--lang-btn-border);transition:background .15s,opacity .15s}.confirm-modal-btn:disabled{opacity:.55;cursor:not-allowed}.confirm-modal-btn-cancel{background:var(--color-surface-elevated);color:var(--color-text-secondary)}.confirm-modal-btn-cancel:hover:not(:disabled){background:var(--color-border-light)}.confirm-modal-btn-confirm{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);border-color:transparent}.confirm-modal-btn-confirm:hover:not(:disabled){filter:brightness(1.05)}.confirm-modal-btn-danger{background:linear-gradient(135deg,var(--color-error),var(--color-error-strong));color:var(--text-on-strong-colored);border-color:transparent}.confirm-modal-btn-danger:hover:not(:disabled){filter:brightness(1.05)}.group-progress-card{background:var(--color-background-card);padding:1.5rem;border-radius:.5rem;border:1px solid var(--card-border-color);margin-top:1.5rem;margin-bottom:1.5rem;width:100%;max-width:1100px;box-shadow:var(--shadow-md)}.group-progress-card-row{justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.group-progress-card-title{font-size:1rem;font-weight:700;margin-bottom:.75rem;margin-top:0}.group-progress-card-perc{color:var(--highlight-amber);font-size:.85rem;margin-bottom:.35rem;margin-top:0}.group-progress-bar-bg{width:100%;height:13px;background:var(--color-surface-elevated);border-radius:.15rem;overflow:hidden}.group-progress-bar-fill{height:100%;background:var(--accent-violet);border-radius:.15rem;transition:width .55s cubic-bezier(.6,.04,.44,1)}.tournament-app{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.controls-bar{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.filter-btn{padding:.5rem 1rem;border-radius:.5rem;font-weight:600;background:var(--color-background-card);color:var(--color-text-primary);border:1px solid var(--card-border-color);transition:background .2s,border-color .2s,color .2s;margin-left:.5rem;cursor:pointer}.filter-btn:hover,.filter-btn-active{background:var(--accent-violet)!important;color:var(--text-on-strong-colored)!important;border-color:var(--accent-violet)!important}.filter-btn-active{background:var(--accent-violet);color:var(--text-on-strong-colored);border-color:var(--accent-violet)}.finish-btn{background-color:var(--color-success);color:var(--text-on-strong-colored);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;transition:background-color .2s;border:none;cursor:pointer}.finish-btn:hover{background-color:var(--color-success-hover)}.main-groups{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;align-items:start}.main-stages{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}@media(max-width:768px){.tournament-app{padding:0 1rem}.main-groups{grid-template-columns:1fr}.controls-bar{flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.controls-bar .bar-section{flex:1 1 100%;min-width:100%}.filter-btn{margin-left:0;min-height:44px}.finish-btn{min-height:44px}}@media(max-width:480px){.tournament-app{padding:0 .75rem}.controls-bar{margin:.5rem 0}.filter-btn,.finish-btn{flex:1;min-width:0}}.tournament-results-container{background-color:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:1rem}.champions-section{background-color:var(--color-background-card);border:1px solid var(--color-border-strong);border-radius:1rem;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.champions-title{text-align:center;font-size:1.5rem;font-weight:700;margin:0 0 2rem;color:var(--color-text-primary)}.champions-podium{display:flex;justify-content:center;align-items:flex-end;gap:3rem;max-width:600px;margin:0 auto}.podium-position{display:flex;flex-direction:column;align-items:center;position:relative}.player-avatar-container{position:relative;margin-bottom:1rem;border-radius:50%;padding:3px}.champion-avatar{background:linear-gradient(45deg,var(--highlight-amber),var(--color-warning))}.player-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--color-border-strong)}.podium-card{padding:1.5rem;border-radius:.75rem;text-align:center;min-width:120px;position:relative}.champion-card{background-color:var(--highlight-amber);color:var(--podium-text-on-medal);transform:scale(1.1);z-index:2}.runner-up-card{background-color:var(--color-text-muted);color:var(--text-on-strong-colored)}.third-place-card{background-color:var(--color-warning);color:var(--text-on-strong-colored)}.podium-icon{width:2rem;height:2rem;margin:0 auto .5rem;display:block}.champion-crown{color:var(--podium-text-on-medal)}.podium-title{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.podium-name{font-size:1rem;font-weight:700}.results-section{background-color:var(--color-background-card);border:1px solid var(--color-border-strong);border-radius:1rem;box-shadow:var(--shadow-sm)}.results-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.results-subtitle{color:var(--color-text-muted);font-size:.875rem;margin:0 0 2rem}.results-table-container{overflow-x:auto}.results-table{width:100%;min-width:800px;display:block}.results-section .table-header-results{display:grid!important;grid-template-columns:1fr 2fr 1.2fr 1.2fr 1fr 1.2fr 1fr!important;gap:1.5rem;padding:1rem 2rem;border-bottom:1px solid var(--card-border-color);align-items:center;box-sizing:border-box;width:100%;background:var(--color-table-header)}.results-section .header-cell{color:var(--color-text-muted);font-size:.775rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:center}.results-section .header-cell.place{text-align:left}.results-section .header-cell.player{text-align:left;margin-left:1rem}.results-section .table-body{display:flex;flex-direction:column;padding:0;width:100%;box-sizing:border-box}.results-section .table-row{display:grid!important;grid-template-columns:1fr 2fr 1.2fr 1.2fr 1fr 1.2fr 1fr!important;gap:1.5rem;padding:.75rem 2rem;border-bottom:1px solid var(--card-border-color);align-items:center;transition:background-color .2s ease;width:100%;box-sizing:border-box}.results-section .table-row:hover{background-color:var(--color-row-hover)}.results-section .table-row.champion{background-color:#f59e0b1f;border-color:#f59e0b40}html[data-theme=light] .results-section .table-row.champion{background-color:#d977061a}.results-section .table-row.runner-up{background-color:var(--surface-muted-bg);border-color:#64748b33}.results-section .table-row.third-place{background-color:#dc262614;border-color:#dc26262e}.results-section .table-cell{font-size:.875rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;min-width:0;display:block}.position-cell{display:flex;align-items:center;gap:.5rem}.position-number{font-size:1.125rem;font-weight:700}.position-icon{width:1.25rem;height:1.25rem}.champion-icon{color:var(--highlight-amber)}.runner-up-icon{color:var(--ui-indicator-muted)}.third-place-icon{color:var(--stat-negative)}.player-cell{display:flex;align-items:center;gap:.75rem;min-width:0}.player-table-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border-strong)}.player-info{display:block}.player-name{font-weight:600;color:var(--color-text-primary)}.player-title{font-size:.75rem;color:var(--color-text-muted)}.results-section .matches-won-cell{color:var(--stat-positive);font-weight:600;text-align:center}.results-section .matches-lost-cell{color:var(--stat-negative);font-weight:600;text-align:center}.results-section .sets-won-cell{color:var(--stat-positive);font-weight:600;text-align:center}.results-section .sets-lost-cell{color:var(--stat-negative);font-weight:600;text-align:center}.results-section .sets-balance-cell{color:var(--highlight-amber);font-weight:600;text-align:center}.prize-cell{color:var(--highlight-amber);font-weight:700}@media(max-width:1024px){.tournament-results-container{padding:1rem}.champions-podium{gap:1rem}.player-avatar{width:60px;height:60px}.podium-card{padding:1rem;min-width:100px}}@media(max-width:768px){.champions-podium{flex-direction:column;gap:1.5rem}.podium-position{width:100%}.champion-card{transform:none}.results-section .table-header-results,.results-section .table-row{grid-template-columns:80px 180px 100px 100px 80px 80px 100px;gap:.5rem}.results-section .header-cell,.results-section .table-cell{font-size:.75rem}.results-section .player-table-avatar{width:24px;height:24px}}@media(max-width:640px){.results-table-container{margin:0 -2rem;padding:0 2rem}.results-section .table-header-results,.results-section .table-row{grid-template-columns:60px 140px 80px 80px 60px 60px 80px;gap:.25rem}.results-section .header-cell,.results-section .table-cell{font-size:.7rem}.results-section .player-name{font-size:.8rem}.results-section .player-title{font-size:.65rem}}.tournament-fees-modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:1rem}.tournament-fees-modal-box{width:100%;max-width:420px;max-height:min(85vh,560px);display:flex;flex-direction:column;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.tournament-fees-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tournament-fees-modal-title-block{flex:1;min-width:0}.tournament-fees-modal-title{margin:0;font-size:1.1rem;font-weight:700}.tournament-fees-modal-counter{margin:.35rem 0 0;font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.tournament-fees-modal-close{flex-shrink:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:6px;display:flex;transition:color .15s,background .15s}.tournament-fees-modal-close:hover{color:var(--color-text-primary);background:var(--surface-muted-bg)}.tournament-fees-modal-error{color:var(--stat-negative);font-size:.875rem;margin:0 0 .75rem}.tournament-fees-modal-empty{color:var(--color-text-muted);margin:.5rem 0 1rem;font-size:.95rem}.tournament-fees-modal-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;min-height:0}.tournament-fees-modal-row{border-bottom:1px solid var(--card-border-color)}.tournament-fees-modal-row:last-child{border-bottom:none}.tournament-fees-modal-label{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;cursor:pointer;margin:0}.tournament-fees-modal-checkbox{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--color-primary);flex-shrink:0}.tournament-fees-modal-player{display:flex;flex-direction:column;gap:.15rem;min-width:0}.tournament-fees-modal-name{font-weight:600;font-size:.9rem}.tournament-fees-modal-email{font-size:.78rem;color:var(--color-text-muted);word-break:break-all}.tournament-fees-modal-hint{margin:1rem 0 0;font-size:.78rem;color:var(--color-text-disabled);line-height:1.4}.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:1rem;box-shadow:var(--shadow-xl);padding:2rem 2.5rem;min-width:480px;max-width:600px;width:90vw;color:var(--color-text-primary);display:flex;flex-direction:column;gap:1.5rem;animation:modal-in .18s cubic-bezier(.37,.01,.56,1.17);position:relative}@keyframes modal-in{0%{transform:scale(.95);opacity:0}}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.25rem;transition:color .2s,background-color .2s}.modal-close:hover{color:var(--color-text-primary);background-color:var(--surface-muted-bg)}.modal-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--color-text-primary)}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.atm-date-input-with-button{display:flex;gap:.5rem;align-items:center}.atm-date-input-with-button .form-input{flex:1;min-width:0}.atm-date-picker-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;width:44px;flex-shrink:0;padding:0;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary);border-radius:.5rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.atm-date-picker-btn svg{stroke:currentColor;color:inherit;flex-shrink:0}.atm-date-picker-btn:hover{background:#3b82f61f;border-color:var(--color-primary);color:var(--color-primary)}.form-input{background:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text-primary);font-size:1rem;outline:none;transition:border-color .2s;box-sizing:border-box;width:100%}.form-label{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.form-input:focus{border-color:var(--color-primary)}.form-select{height:50px;width:100%;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem .75rem .75rem 2.5rem;color:var(--color-text-primary);font-size:1rem;outline:none;transition:all .2s ease-in-out;cursor:pointer;box-sizing:border-box}.form-select:focus{border-color:var(--fill-primary-border)}.tournament-type-options{display:flex;flex-direction:column;gap:.75rem}.tournament-type-option{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.75rem;cursor:pointer;transition:all .2s}.tournament-type-option:hover{border-color:#3b82f64d;background-color:#3b82f60d}.tournament-type-option.selected{border-color:var(--color-primary);background-color:#3b82f61a}.radio-indicator{width:1.25rem;height:1.25rem;border:2px solid var(--color-text-disabled);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s;margin-top:.125rem}.tournament-type-option.selected .radio-indicator{border-color:var(--color-primary)}.radio-dot{width:.5rem;height:.5rem;background-color:var(--color-primary);border-radius:50%}.type-info{flex:1}.type-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:var(--color-text-primary)}.type-description{font-size:.9rem;color:var(--color-text-muted);margin:0;line-height:1.4}.groups-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.group-number-btn{padding:1rem;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.group-number-btn:hover{border-color:#3b82f64d;background-color:#3b82f60d}.group-number-btn.selected{border-color:var(--color-primary);background-color:#3b82f61a;color:var(--color-primary)}.players-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.players-counter{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:600;font-size:.95rem}.search-container{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;color:var(--color-text-disabled);z-index:1}.search-input{background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem .75rem 3rem;color:var(--color-text-primary);font-size:.95rem;outline:none;transition:border-color .2s;width:100%}.search-input::placeholder{color:var(--color-text-disabled)}.search-input:focus{border-color:var(--color-primary)}.players-actions{display:flex;gap:.75rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.sort-buttons{display:flex;gap:.5rem;margin-left:auto}.sort-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:.375rem;border:1px solid var(--card-border-color);background-color:var(--color-background);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.sort-btn:hover{background-color:var(--color-background-card);border-color:#4b5563}.sort-btn.active{border-color:var(--color-primary);background-color:#3b82f61a;color:var(--color-primary)}.select-all-btn,.clear-all-btn{padding:.5rem 1rem;border-radius:.375rem;border:1px solid var(--card-border-color);background-color:var(--color-background);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.select-all-btn:hover,.clear-all-btn:hover{background-color:var(--color-background-card);border-color:#4b5563}.players-list{max-height:300px;overflow-y:auto;border:1px solid var(--card-border-color);border-radius:.5rem;background-color:var(--color-background)}.player-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:all .2s;border-bottom:1px solid rgba(42,42,42,.5)}.player-item:last-child{border-bottom:none}.player-item:hover{background-color:#3b82f60d}.player-item.selected{background-color:#3b82f61a;border-color:#3b82f64d}.player-item:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.player-item.focused{background-color:#3b82f614}.player-item.focused.selected{background-color:#3b82f626}.player-checkbox{width:1.25rem;height:1.25rem;border:2px solid var(--color-text-disabled);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.player-item.selected .player-checkbox{border-color:var(--color-primary);background-color:var(--color-primary)}.checkbox-check{width:.5rem;height:.5rem;background-color:var(--text-on-strong-colored);border-radius:.125rem}.player-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));display:flex;align-items:center;justify-content:center;color:var(--text-on-strong-colored);font-weight:600;font-size:1.1rem;flex-shrink:0}.player-info-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem}.player-name{color:var(--color-text-primary);font-weight:500}.player-age{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.minimum-players-warning{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-error-light);font-size:.875rem;text-align:center;margin-top:1rem}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem}.back-button,.next-btn,.create-btn,.modal-btn{padding:.5rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;min-height:44px;display:flex;align-items:center;justify-content:center}.back-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--color-text-secondary);border:1px solid var(--card-border-color)}.back-button:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));border-color:#4b5563}.next-btn,.create-btn{background:var(--color-success-light);color:var(--text-on-strong-colored);border:none}.next-btn:hover,.create-btn:hover{background:var(--color-success);transform:translateY(-1px);box-shadow:var(--shadow-md)}.next-btn:disabled,.create-btn:disabled{background:var(--ui-indicator-muted);color:var(--color-text-disabled);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.modal-backdrop{align-items:flex-end;padding:0}.modal-content{min-width:0;width:100%;max-width:100%;max-height:90vh;overflow-y:auto;padding:1.25rem 1rem 1.5rem;margin:0;border-radius:1rem 1rem 0 0;border-bottom:none}.modal-close{top:1rem;right:1rem;padding:.5rem}.modal-title{font-size:1.25rem;padding-right:2.5rem}.form-row.two-cols{grid-template-columns:1fr}.tournament-type-option{padding:1rem}.type-title{font-size:1rem}.type-description{font-size:.85rem}.groups-grid{grid-template-columns:repeat(4,1fr)}.group-number-btn{padding:.75rem;font-size:1rem}.players-actions{flex-direction:column;align-items:stretch}.sort-buttons,.players-counter{margin-left:0}.select-all-btn,.clear-all-btn{width:100%}.players-list{max-height:min(45vh,280px)}.player-item{padding:.75rem 1rem;min-height:48px}.player-avatar{width:2rem;height:2rem;font-size:.9rem}.modal-actions{flex-direction:column}.modal-actions .back-button,.modal-actions .next-btn,.modal-actions .create-btn{width:100%;min-height:48px}.form-input,.form-select{min-height:48px;font-size:16px}.search-input{min-height:48px;padding-left:3rem;font-size:16px}}@media(max-width:480px){.modal-content{padding:1rem .75rem 1.25rem}.groups-grid{grid-template-columns:repeat(3,1fr)}.group-number-btn{padding:.65rem;font-size:.95rem}}.modal-actions-final{flex-wrap:wrap;gap:.5rem}.draft-btn{background:#f59e0b33;color:var(--highlight-amber);border:1px solid rgba(245,158,11,.45);padding:.65rem 1.2rem;border-radius:.5rem;font-weight:600;cursor:pointer}.draft-btn:hover:not(:disabled){background:#f59e0b4d}.draft-btn:disabled{opacity:.45;cursor:not-allowed}.online-draft-btn{background:#3b82f633;color:var(--accent-blue-on-surface);border:1px solid rgba(59,130,246,.45);padding:.65rem 1.2rem;border-radius:.5rem;font-weight:600;cursor:pointer}.online-draft-btn:hover:not(:disabled){background:#3b82f652}.online-draft-btn:disabled{opacity:.45;cursor:not-allowed}.tournament-draft-page{min-height:80vh;background-color:var(--color-background);width:100%;max-width:1400px;margin:0 auto;padding:1.5rem 9% 2rem;color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600}.tournament-draft-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tournament-draft-header h1{margin:0;font-size:1.75rem}.draft-badge-large{background:#f59e0b33;color:var(--highlight-amber);border:1px solid rgba(245,158,11,.4);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:700}.tournament-draft-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;margin:0 0 1rem;color:var(--color-text-secondary)}.tournament-draft-details{margin:1.5rem 0;background:var(--color-table-header);border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.25rem 1.5rem}.tournament-draft-dl{margin:0;display:flex;flex-direction:column;gap:0}.tournament-draft-dl-row{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:.75rem 1.5rem;padding:.65rem 0;border-bottom:1px solid rgba(39,39,42,.7);align-items:start}.tournament-draft-dl-row:last-child{border-bottom:none}.tournament-draft-dl-row dt{margin:0;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.tournament-draft-dl-row dd{margin:0;font-size:.95rem;color:var(--color-text-primary);font-weight:600;word-break:break-word}@media(max-width:600px){.tournament-draft-dl-row{grid-template-columns:1fr;gap:.25rem}}.tournament-draft-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.tournament-draft-actions-top{margin-top:0;margin-bottom:1rem}.td-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:.5rem;font-weight:600;border:none;cursor:pointer;font-size:.9rem}.td-btn:disabled{opacity:.5;cursor:not-allowed}.td-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored)}.td-btn-secondary{background:var(--accent-violet-soft-bg);color:var(--accent-violet-muted);border:1px solid var(--accent-violet-soft-border)}.td-btn-danger{background:#ef444426;color:var(--stat-negative);border:1px solid rgba(239,68,68,.35)}.td-btn-accent{background:var(--color-success-light);color:var(--text-on-strong-colored)}.td-btn-outline{background:transparent;color:var(--stat-negative);border:1px solid rgba(248,113,113,.5)}.tournament-draft-register-row{margin-bottom:1.5rem}.tournament-draft-register-row.tournament-draft-register-top{margin-bottom:1.25rem}.tournament-draft-register-first{margin-top:0}.tournament-draft-players{margin-top:.5rem}.tournament-draft-no-players{color:var(--color-text-disabled);font-size:.95rem;margin:0;padding:1rem;background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem}.tournament-draft-players-privacy-hint{color:var(--color-text-muted);font-size:.95rem;margin:0;padding:1rem 1.1rem;background:var(--color-table-header);border:1px solid var(--card-border-color);border-radius:.75rem;line-height:1.45;font-weight:500}.tournament-draft-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.tournament-draft-player-tile{position:relative;display:flex;align-items:center;gap:.85rem;padding:1rem 2.5rem 1rem 1rem;background:linear-gradient(145deg,var(--color-bg-inset),var(--color-table-header));border:1px solid var(--card-border-color);border-radius:.75rem;transition:border-color .15s,box-shadow .15s}.tournament-draft-player-tile:hover{border-color:var(--accent-violet-soft-border);box-shadow:var(--shadow-lg)}.tournament-draft-player-remove{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.375rem;background:#ef44441f;color:var(--stat-negative);cursor:pointer;transition:background .15s,color .15s}.tournament-draft-player-remove:hover:not(:disabled){background:#ef444440;color:var(--color-error-light)}.tournament-draft-player-remove:disabled{opacity:.4;cursor:not-allowed}.tournament-draft-player-avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.65rem;background:linear-gradient(135deg,var(--accent-violet),var(--accent-violet-hover));color:var(--text-on-strong-colored);font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.tournament-draft-player-body{min-width:0;flex:1}.tournament-draft-player-name{font-weight:700;font-size:.95rem;color:var(--color-text-primary);line-height:1.3}.tournament-draft-player-email{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem;word-break:break-all}.tournament-management{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.tournament-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.add-tournament-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px #3b82f633}.add-tournament-btn:hover{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.tournament-pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid var(--card-border-color);margin-top:2rem}.tournament-pagination-left{display:flex;align-items:center;gap:.75rem;color:var(--color-text-muted);font-size:.85rem}.tournament-pagination-controls{display:flex;gap:.5rem}.pagination-btn{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--fill-primary-strong)}.pagination-btn.active{background:var(--color-primary);color:var(--text-on-strong-colored);border-color:var(--color-primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.tournament-management{padding:0 1rem}.tournaments-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.tournament-controls{flex-direction:column;align-items:stretch;gap:.75rem}.tournament-pagination{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 0;margin-top:1rem}.tournament-pagination-left{flex-direction:column;align-items:stretch;gap:.5rem}.showing-text{text-align:center;font-size:.8rem}.items-per-page-select{width:100%;min-height:44px;font-size:16px}.tournament-pagination-controls{overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:center;flex-wrap:nowrap;gap:.35rem;padding-bottom:.25rem}.pagination-btn{flex-shrink:0;min-width:2.25rem;min-height:2.25rem;font-size:.8rem}}@media(max-width:480px){.tournament-management{padding:0 .75rem}.tournament-pagination{padding:.75rem 0}.showing-text{font-size:.75rem}.pagination-btn{min-width:2rem;min-height:2rem}}.form-row.two-cols{display:grid;grid-template-columns:3fr 1fr;gap:16px;align-items:start}@media(max-width:720px){.form-row.two-cols{grid-template-columns:1fr}}.date-input-with-button{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.date-picker-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 12px;border:1px solid var(--color-border-light);background:var(--color-primary);border-radius:8px;cursor:pointer}.date-picker-btn:hover{background:var(--color-bg-inset)}.tournament-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tournament-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem;gap:1rem}.tournament-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;align-items:center}.badge-draft{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;text-transform:uppercase;background:color-mix(in srgb,var(--highlight-amber) 18%,var(--color-background-card));color:var(--amber-badge-fg);border:1px solid color-mix(in srgb,var(--highlight-amber) 42%,var(--card-border-color))}.badge-register{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;background:color-mix(in srgb,var(--stat-positive) 14%,var(--color-background-card));color:color-mix(in srgb,var(--stat-positive) 88%,var(--color-text-primary));border:1px solid color-mix(in srgb,var(--stat-positive) 35%,var(--card-border-color))}.badge-registered{padding:.2rem .55rem;border-radius:999px;font-size:.6rem;font-weight:700;background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border)}.tournament-card-title{font-size:.9rem;font-weight:700;margin:0;color:var(--color-text-primary);line-height:1.3;letter-spacing:-.01em}.tournament-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-violet),var(--color-primary));opacity:0;transition:opacity .3s}.tournament-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent-violet-soft-border)}.tournament-card:hover:before{opacity:1}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.status-active{background:color-mix(in srgb,var(--stat-positive) 14%,var(--color-background-card));color:color-mix(in srgb,var(--stat-positive) 88%,var(--color-text-primary));border:1px solid color-mix(in srgb,var(--stat-positive) 32%,var(--card-border-color))}.status-completed{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border)}.status-upcoming{background:color-mix(in srgb,var(--highlight-amber) 16%,var(--color-background-card));color:var(--amber-badge-fg);border:1px solid color-mix(in srgb,var(--highlight-amber) 38%,var(--card-border-color))}.status-draft{background:#9ca3af26;color:var(--color-text-muted);border:1px solid rgba(156,163,175,.3)}.tournament-card-info{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.5rem}.info-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.7rem;font-weight:600;white-space:nowrap}.info-icon{color:var(--color-text-muted);flex-shrink:0;font-weight:600}.tournament-card-status{margin-bottom:1.25rem;min-height:1.5rem;display:flex;align-items:center}.tournament-card-status-row{display:flex;align-items:center;margin-top:.5rem}.progress-info,.winner-info,.registration-info{font-size:.7rem;align-items:center}.progres-text{color:var(--highlight-amber);font-weight:600}.winner-text{color:var(--color-primary);font-weight:600}.registration-text{color:var(--highlight-amber);font-weight:600}.tournament-card-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.action-btn{border-radius:.375rem;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.view-btn{background:#3b82f61a;color:var(--color-primary);border:1px solid rgba(59,130,246,.2)}.view-btn:hover{background:#3b82f633;border-color:#3b82f666}.edit-btn{background:#8b5cf61a;color:var(--accent-violet);border:1px solid rgba(139,92,246,.2)}.edit-btn:hover{background:#8b5cf633;border-color:#8b5cf666}.download-btn{background:#22c55e1a;color:var(--color-success-light);border:1px solid rgba(34,197,94,.2)}.download-btn:hover{background:#22c55e33;border-color:#22c55e66}html[data-theme=light] .tournament-card-info .info-item{color:var(--color-text-primary)}html[data-theme=light] .tournament-card-info .info-icon{color:var(--color-text-secondary)}.page-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.header-left{min-width:0;text-align:left}.page-title{font-size:2rem;font-weight:700;margin:0 0 .3rem;color:var(--color-text-primary)}.page-subtitle{font-size:.9rem;color:var(--color-text-muted);margin:0;font-weight:600}.header-stats{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;color:var(--color-text-muted);font-size:.8rem;flex-wrap:wrap;font-weight:600}.header-stats .stat-item{color:var(--color-text-disabled)}.header-stats .stat-item strong{color:var(--color-text-primary);font-weight:600}.stat-separator{color:var(--color-text-disabled);font-size:.8rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:center;text-align:center}.header-left{text-align:center}.header-stats{justify-content:center}.stat-separator{display:none}}.pmgm-player-management{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.pmgm-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.pmgm-controls-top{display:flex;align-items:center;gap:1rem}.pmgm-controls-top .bar-section{flex:1;min-width:0}.pmgm-settings-btn{background:#8b5cf61a;color:var(--accent-violet);padding:.75rem;border-radius:.5rem;border:1px solid rgba(139,92,246,.2);cursor:pointer;display:flex;align-items:center;gap:.5rem}.pmgm-link-accounts-btn{background:#8b5cf61f;color:var(--accent-violet, #8b5cf6);padding:.75rem 1.25rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(139,92,246,.35);cursor:pointer}.pmgm-link-accounts-btn:hover{background:#8b5cf633}.pmgm-add-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.pmgm-controls-mobile-actions{display:none;flex-direction:column;gap:.65rem;width:100%}.pmgm-controls-mobile-actions .pmgm-add-mobile,.pmgm-controls-mobile-actions .pmgm-link-accounts-btn.pmgm-add-mobile{width:100%;justify-content:center}.pmgm-add-mobile{display:none}.pmgm-add-desktop{display:flex}@media(max-width:768px){.pmgm-add-desktop{display:none!important}.pmgm-controls-mobile-actions,.pmgm-add-mobile{display:flex}}.pmgm-column-settings{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:1rem}.pmgm-settings-title{width:100%;margin:0 0 .5rem;font-size:.9rem}.pmgm-column-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.pmgm-column-toggle input{cursor:pointer}.pmgm-column-label{text-transform:capitalize;font-size:.85rem}.pmgm-table-container{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;overflow:hidden}.pmgm-table-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--card-border-color)}.pmgm-table-title{margin:0;font-size:1.1rem;font-weight:600}.pmgm-table-wrapper{overflow-x:auto}.pmgm-players-table{width:100%;border-collapse:collapse}.pmgm-table-header-row{background-color:var(--color-bg-inset)}.pmgm-sortable-header{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.pmgm-player-header,.pmgm-header-content{display:flex;align-items:center;gap:.5rem}.pmgm-actions-header{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted)}.pmgm-table-row{transition:background-color .2s}.pmgm-table-row:hover{background-color:var(--color-bg-inset)}.pmgm-table-row.with-border{border-bottom:1px solid rgba(42,42,42,.5)}.pmgm-table-cell{padding:1rem}.pmgm-player-name{font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.pmgm-active-user-badge{color:var(--color-success-light);font-size:.65rem;line-height:1;flex-shrink:0}.pmgm-ranking-cell{display:flex;align-items:center;gap:.75rem;font-variant-numeric:tabular-nums}.pmgm-ranking-empty{color:var(--color-text-muted)}.pmgm-ranking-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.ranking-master{background:#8b5cf626;color:var(--accent-violet);border:1px solid rgba(139,92,246,.3)}.ranking-expert{background:#fbbf2426;color:var(--highlight-amber);border:1px solid rgba(251,191,36,.3)}.ranking-advanced{background:#f9731626;color:var(--accent-orange);border:1px solid rgba(249,115,22,.3)}.ranking-intermediate{background:#3b82f626;color:var(--color-primary);border:1px solid rgba(59,130,246,.3)}.ranking-beginner{background:#22c55e26;color:var(--color-success-light);border:1px solid rgba(34,197,94,.3)}.pmgm-ranking-number{font-size:.9rem;font-weight:600}.pmgm-ender{font-size:.85rem;font-weight:600}.pmgm-gender.male{color:var(--color-primary)}.pmgm-gender.female{color:var(--accent-magenta)}.pmgm-rocket-cell{display:flex;align-items:center;gap:.5rem}.pmgm-rocket-icon{font-size:1rem}.pmgm-rocket-name{font-size:.85rem;color:var(--color-text-secondary)}.pmgm-age{font-size:.9rem;font-weight:600}.pmgm-actions{display:flex;gap:.5rem}.pmgm-action-btn{border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid}.view-btn{background:#3b82f61a;color:var(--color-primary);border-color:#3b82f633}.edit-btn{background:#8b5cf61a;color:var(--accent-violet);border-color:#8b5cf633}.delete-btn{background:#ef44441a;color:var(--stat-negative);border-color:#ef444433}.pmgm-table-footer{padding:1rem;border-top:1px solid var(--card-border-color);color:var(--color-text-muted);font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.pmgm-pagination{display:flex;gap:.5rem}.pmgm-page-btn{background:#3b82f61a;color:var(--color-primary);border:1px solid rgba(59,130,246,.2);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.pmgm-page-btn.active{background:#3b82f633}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:1px solid var(--card-border-color)}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.close-btn{background:none;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:all .2s}.close-btn:hover{background:#ef44441a;color:var(--stat-negative)}.modal-body{padding:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.form-input,.ap-form-select{background:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem;color:var(--color-text-primary);font-size:.875rem;outline:none;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:var(--fill-primary-border);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--color-text-disabled)}.form-select option{background:var(--color-background-card);color:var(--color-text-primary)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--card-border-color)}.cancel-btn{background:#6b72801a;color:var(--color-text-muted);border:1px solid rgba(107,114,128,.2);border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#6b728026;color:var(--color-text-primary)}.submit-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px var(--fill-primary-strong)}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--fill-primary-border)}.submit-btn:disabled{background:#6b72804d;color:var(--color-text-disabled);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:640px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh;max-width:100%}.form-grid{grid-template-columns:1fr;gap:1.25rem}.modal-header,.modal-body,.modal-footer{padding:.5rem}.modal-footer{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.law-wizard .law-wizard-content{max-width:560px}.law-wizard-body{display:flex;flex-direction:column;gap:1rem}.law-steps{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.5rem}.law-step{width:2rem;height:2rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;background:var(--color-background);border:2px solid var(--card-border-color);color:var(--color-text-muted)}.law-step.law-step-active{border-color:var(--color-primary);color:var(--color-primary);background:#3b82f61f}.law-step-line{width:2rem;height:2px;background:var(--card-border-color)}.law-error{padding:.65rem .85rem;border-radius:.5rem;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:var(--stat-negative, #ef4444);font-size:.875rem}.law-panel-title{margin:0 0 .35rem;font-size:1rem;color:var(--color-text-primary)}.law-hint{margin:0 0 .75rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.law-search{width:100%;margin-bottom:.75rem}.law-scroll{max-height:min(45vh,320px);overflow-y:auto;border:1px solid var(--card-border-color);border-radius:.5rem;padding:.35rem;background:var(--color-background)}.law-list{list-style:none;margin:0;padding:0}.law-option{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .5rem;border-radius:.35rem;cursor:pointer;transition:background .15s}.law-option:hover{background:#8b5cf614}.law-option input{margin-top:.2rem;cursor:pointer;accent-color:var(--color-primary)}.law-option-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.law-option-main{font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.law-option-sub{font-size:.8rem;color:var(--color-text-muted);word-break:break-word}.law-muted{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.9rem;margin:0}.law-summary{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem}.law-summary dt{margin:0;font-weight:600;color:var(--color-text-muted)}.law-summary dd{margin:0;color:var(--color-text-primary)}.law-dt-small{font-size:.78rem!important}.law-warning{margin:1rem 0 0;padding:.85rem;border-radius:.5rem;background:#fbbf241f;border:1px solid rgba(251,191,36,.45);color:var(--color-text-primary);font-size:.85rem;line-height:1.45}.law-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--card-border-color)}.law-footer-spacer{flex:1;min-width:.5rem}.law-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 1rem;border-radius:.5rem;font-weight:600;font-size:.9rem;cursor:pointer;border:none}.law-btn:disabled{opacity:.55;cursor:not-allowed}.law-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored, #fff)}.law-btn-secondary{background:var(--color-background);border:1px solid var(--card-border-color);color:var(--color-text-primary)}.law-btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid transparent}.law-btn-danger{background:linear-gradient(135deg,var(--stat-negative, #dc2626),#b91c1c);color:#fff}@media(max-width:520px){.law-footer{flex-direction:column;align-items:stretch}.law-footer-spacer{display:none}.law-btn{justify-content:center;width:100%}}.rankings-container{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.rankings-controls{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.control-buttons{display:flex;gap:.75rem;align-items:center}.ranking-select{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem 1rem;color:var(--color-text-primary);font-size:.9rem;outline:none;min-width:200px;font-weight:600}.ranking-select option{background-color:var(--color-background-card);color:var(--color-text-primary)}.table-container{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.75rem;overflow:hidden}.table-header{padding:1rem;border-bottom:1px solid var(--card-border-color)}.table-title-section{display:flex;align-items:center;justify-content:space-between}.table-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.table-wrapper{overflow-x:auto}.rankings-table{width:100%;border-collapse:collapse;table-layout:auto;display:table!important}.rankings-table thead{display:table-header-group!important}.rankings-table tbody{display:table-row-group!important}.rankings-table tr{display:table-row!important}.table-header-row{background-color:var(--color-bg-inset);display:table-row!important}.table-header-cell{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;display:table-cell!important;vertical-align:middle}.table-header-cell.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-header-cell.sortable:hover{background-color:#3b82f61a}.header-content{display:flex;align-items:center}.table-row{transition:background-color .2s;border-bottom:1px solid rgba(42,42,42,.5);display:table-row!important}.table-row:hover{background-color:var(--color-bg-inset)}.table-cell{padding:1rem;font-size:.9rem;white-space:nowrap;display:table-cell!important;vertical-align:middle}.rank-cell{display:flex;align-items:center;gap:.5rem}.rank-number{font-weight:600;font-size:.9rem}.player-cell{display:flex;align-items:center;gap:.75rem}.player-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:var(--text-on-strong-colored);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.player-info{display:flex;flex-direction:column}.player-name{font-weight:600;color:var(--color-text-primary);font-size:.9rem}.player-name.clickable-name{transition:color .2s}.player-name.clickable-name:hover{color:var(--color-primary)}.win-rate{font-weight:600}.win-rate-excellent{color:var(--stat-positive)}.win-rate-good{color:var(--highlight-amber)}.win-rate-average{color:var(--accent-orange)}.win-rate-poor{color:var(--stat-negative)}.win-rate-very-poor{color:var(--color-error)}.set-win-rate,.matches{font-weight:600}.matches-excellent{color:var(--stat-positive)}.matches-good{color:var(--highlight-amber)}.matches-average{color:var(--accent-orange)}.matches-poor{color:var(--stat-negative)}.matches-very-poor{color:var(--color-error)}.sets{font-weight:600}.sets-excellent{color:var(--stat-positive)}.sets-good{color:var(--highlight-amber)}.sets-average{color:var(--accent-orange)}.sets-poor{color:var(--stat-negative)}.sets-very-poor{color:var(--color-error)}.wins,.set-wins{font-weight:600;color:var(--color-text-secondary)}.tournaments-badge{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);padding:.25rem .5rem;border-radius:.375rem;font-size:.8rem;font-weight:600;display:inline-block;min-width:1.5rem;text-align:center}.table-footer{padding:1rem;border-top:1px solid var(--card-border-color);color:var(--color-text-muted);font-size:.85rem;display:flex;justify-content:space-between;align-items:center}.table-footer-left{display:flex;align-items:center;gap:.75rem}.showing-text{font-weight:500}.items-per-page-select{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.375rem;padding:.5rem .75rem;color:var(--color-text-primary);font-size:.85rem;font-weight:600;outline:none;cursor:pointer;transition:all .2s}.items-per-page-select:hover:not(:disabled){border-color:var(--fill-primary-border);background-color:var(--color-bg-inset)}.items-per-page-select:disabled{opacity:.5;cursor:not-allowed}.items-per-page-select option{background-color:var(--color-background-card);color:var(--color-text-primary)}.pagination{display:flex;gap:.5rem}.page-btn{background:var(--fill-primary-soft);color:var(--color-primary);border:1px solid var(--fill-primary-border);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s}.page-btn:hover{background:var(--fill-primary-strong)}.page-btn.active{background:var(--fill-primary-strong);color:var(--color-primary);border-color:var(--fill-primary-border)}@media(max-width:1024px){.rankings-container{margin:0 5%}.rankings-header{flex-direction:column;align-items:stretch}.header-stats{margin-top:1rem}.rankings-controls{flex-direction:column;gap:.75rem}.search-wrapper{min-width:auto}.control-buttons{justify-content:flex-start}}@media(max-width:768px){.rankings-container{margin:0;padding:1rem}.rankings-title{font-size:1.5rem}.header-stats{flex-direction:column;gap:.5rem;align-items:flex-start}.rankings-controls{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.rankings-controls .bar-section{flex:1 1 100%;min-width:100%}.control-buttons{width:100%}.ranking-select{width:100%;min-width:0;min-height:48px;font-size:16px}.table-wrapper{overflow-x:scroll}.rankings-table{min-width:1000px;display:table!important}.table-header-row,.table-row{display:table-row!important}.table-header-cell,.table-cell{display:table-cell!important}.table-footer{flex-direction:column;gap:1rem;align-items:stretch}.table-footer-left{flex-direction:column;align-items:flex-start;width:100%}.items-per-page-select{width:100%;min-height:44px;font-size:16px}.pagination{align-self:stretch;justify-content:center;flex-wrap:wrap;gap:.35rem}.page-btn{min-width:2.25rem;min-height:2.25rem}}@media(max-width:480px){.rankings-container{margin:0;padding:.75rem}.rankings-controls{gap:.5rem;margin-bottom:.75rem}.page-btn{min-width:2rem;min-height:2rem;font-size:.8rem}.showing-text{font-size:.8rem}.table-header-cell,.table-cell{padding:.75rem .5rem}.player-cell{gap:.5rem}.player-avatar{width:2rem;height:2rem;font-size:1rem}.player-name{font-size:.8rem}}.opponent-tracker{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.container{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.opponents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.opponent-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.opponent-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-violet),var(--color-primary));opacity:0;transition:opacity .3s}.opponent-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0006;border-color:#8b5cf64d}.opponent-card:hover:before{opacity:1}.opponent-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.7rem;gap:1rem}.opponent-info{display:flex;align-items:center;gap:.85rem}.avatar{width:2.5rem;height:2.5rem;background-color:var(--accent-violet);border-radius:50%;display:flex;align-items:center;justify-content:center}.avatar-initials{color:var(--text-on-strong-colored);font-weight:600;font-size:.875rem}.opponent-name{color:var(--color-text-primary);font-weight:600;font-size:1rem;margin:0}.opponent-rank{color:var(--color-text-muted);font-size:.85rem;font-weight:600;margin:0}.opponent-record{text-align:right}.record-display{font-size:1.3rem;font-weight:700;line-height:1.2}.record-positive{color:var(--stat-positive)}.record-negative{color:var(--stat-negative)}.win-rate{color:var(--color-text-muted);font-size:.75rem}.opponent-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.75rem;font-weight:600}.stat-item{display:flex;gap:.35rem}.stat-label{color:var(--color-text-muted)}.stat-value{color:var(--color-text-primary);font-weight:700}html[data-theme=light] .opponent-stats .stat-label{color:var(--color-text-secondary)}html[data-theme=light] .opponent-stats .stat-value{color:#0f172a}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem}.pagination-btn{padding:.5rem .75rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:.25rem;transition:color .2s ease;font-size:.875rem}.pagination-btn:hover{color:var(--color-text-primary)}.pagination-btn.active{background-color:var(--color-primary);color:#fff}.pagination-ellipsis{padding:.5rem .75rem;color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.header{flex-direction:column;gap:1rem;align-items:stretch}.search-input{width:100%}.controls{justify-content:space-between}.opponents-grid{grid-template-columns:1fr}}@media(max-width:480px){.opponent-tracker{padding:1rem}.controls{flex-direction:column;gap:.5rem}.select-input{width:100%}.opponent-stats{grid-template-columns:1fr}}.player-profile-container{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:800;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.player-profile-wrapper{max-width:1200px}.player-profile-header{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;padding:2rem;margin-bottom:1.5rem;box-shadow:0 10px 25px #0000004d}.player-profile-header-content{display:flex;align-items:center;gap:16px}.player-profile-avatar{overflow:hidden;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.player-profile-info{flex:1}.player-profile-name-rank{display:flex;align-items:center;gap:8px;margin-bottom:8px}.player-profile-name{font-size:32px;font-weight:700;margin:0}.player-profile-rank-badge{background-color:var(--highlight-amber);color:var(--podium-text-on-medal);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.player-profile-stats-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.player-profile-rank-text{font-size:20px}.player-profile-professional{color:var(--color-text-secondary)}.player-profile-win-rate{color:var(--stat-positive);font-weight:700}.player-profile-level{color:var(--color-text-secondary)}.player-profile-badges{display:flex;gap:8px}.player-profile-badge{padding:4px 12px;border-radius:20px;font-size:14px;font-weight:600}.player-profile-badge-champion{background-color:var(--color-primary);color:var(--text-on-strong-colored)}.player-profile-badge-active{background-color:var(--color-success-light);color:var(--text-on-strong-colored)}.player-profile-badge-top-player{background-color:var(--accent-violet);color:var(--text-on-strong-colored)}.player-profile-badge-default{background-color:var(--color-text-disabled)}.player-profile-main-content{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.player-profile-main-content{grid-template-columns:2fr 1fr}}.player-profile-left-column,.player-profile-right-column{display:flex;flex-direction:column;gap:24px}.player-profile-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;padding:1.5rem;box-shadow:0 10px 25px #0000004d}.player-profile-card-title{font-size:18px;margin:0 0 16px}.player-profile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.player-profile-card-header .player-profile-card-title{margin:0}.player-profile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.player-profile-stat-item{text-align:center}.player-profile-stat-value{font-size:36px;font-weight:700;margin-bottom:4px}.player-profile-stat-wins{color:var(--stat-positive)}.player-profile-stat-losses{color:var(--stat-negative)}.player-profile-stat-sets{color:var(--color-primary)}.player-profile-stat-tournaments{color:var(--highlight-amber)}.player-profile-stat-label{color:var(--color-text-muted);font-size:14px}.player-profile-chart-placeholder{height:256px;background-color:var(--color-background);border-radius:8px;display:flex;align-items:center;justify-content:center}.player-profile-chart-text{color:var(--color-text-muted)}.player-profile-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.8rem;display:flex;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.player-profile-btn-primary:hover{background-color:var(--color-primary-hover)}.player-profile-match-list{display:flex;flex-direction:column;gap:12px}.player-profile-match-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-background);border-radius:8px}.player-profile-match-info{display:flex;align-items:center;gap:12px}.player-profile-match-indicator{width:12px;height:12px;border-radius:50%}.player-profile-match-indicator-won{background-color:var(--stat-positive)}.player-profile-match-indicator-lost{background-color:var(--stat-negative)}.player-profile-match-tournament{font-size:14px;font-weight:600}.player-profile-match-date{font-size:12px;color:var(--color-text-muted)}.player-profile-match-result{text-align:right}.player-profile-result-text{font-size:14px;font-weight:700}.player-profile-result-won{color:var(--stat-positive)}.player-profile-result-lost{color:var(--stat-negative)}.player-profile-match-score{font-size:12px;color:var(--color-text-muted)}.player-profile-info-list{display:flex;flex-direction:column;gap:16px}.player-profile-info-item{display:flex;flex-direction:column;gap:4px}.player-profile-info-label{color:var(--color-text-muted);font-size:12px}.player-profile-info-value{font-size:14px;font-weight:600}.player-profile-btn-more{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;display:flex;align-items:center;gap:4px;font-weight:600;transition:color .2s}.player-profile-btn-more:hover{color:var(--color-primary-hover)}.player-profile-icon-chevron{width:16px;height:16px}.player-profile-head-to-head-list{display:flex;flex-direction:column;gap:12px}.player-profile-opponent-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:var(--color-background);border-radius:8px}.player-profile-opponent-info{display:flex;align-items:center;gap:12px}.player-profile-opponent-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.player-profile-opponent-name{transition:color .2s}.player-profile-opponent-name-clickable{cursor:pointer}.player-profile-opponent-name-clickable:hover{color:var(--color-primary)}.player-profile-opponent-name{font-weight:600;font-size:14px}.player-profile-opponent-rank{font-size:12px;color:var(--color-text-muted)}.player-profile-opponent-record{text-align:right}.player-profile-record-score{font-weight:700}.player-profile-record-winning{font-size:14px;color:var(--stat-positive)}.player-profile-record-losing{font-size:14px;color:var(--stat-negative)}.player-profile-record-percentage{font-size:12px;color:var(--color-text-muted)}.player-profile-statistics-list{display:flex;flex-direction:column;gap:16px}.player-profile-stat-bar-item{display:flex;flex-direction:column;gap:8px}.player-profile-stat-bar-header{display:flex;justify-content:space-between;align-items:center}.player-profile-stat-bar-label{color:var(--color-text-muted)}.list-icon{width:1.25rem;height:1.15rem}@media(max-width:768px){.player-profile-container{padding:0 1rem}.player-profile-header{padding:1.25rem;margin-bottom:1rem}.player-profile-header-content{flex-direction:row;align-items:flex-start;gap:1rem}.player-profile-avatar{width:56px;height:56px;font-size:1.25rem;flex-shrink:0}.player-profile-info{min-width:0}.player-profile-name{font-size:1.35rem;line-height:1.3;word-break:break-word}.player-profile-name-rank{flex-wrap:wrap}.player-profile-stats-row{flex-wrap:wrap;gap:.5rem;font-size:.9rem}.player-profile-rank-text{font-size:.95rem}.player-profile-badges{flex-wrap:wrap;gap:.5rem}.player-profile-badge{font-size:.75rem;padding:3px 10px}.player-profile-main-content,.player-profile-left-column,.player-profile-right-column{gap:1rem}.player-profile-card{padding:1rem}.player-profile-card-title{font-size:1rem;margin-bottom:1rem}.player-profile-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.player-profile-stat-value{font-size:1.5rem}.player-profile-stat-label{font-size:.75rem}.player-profile-chart-placeholder{height:200px}.player-profile-match-item,.player-profile-opponent-item{padding:.75rem}.player-profile-btn-primary{min-height:44px;padding:.6rem 1rem}.player-profile-info-item{gap:2px}.player-profile-info-label{font-size:.7rem}.player-profile-info-value{font-size:.85rem}.player-profile-opponent-avatar{width:32px;height:32px;font-size:.75rem}.player-profile-opponent-name{font-size:.9rem}}@media(max-width:480px){.player-profile-container{padding:0 .75rem}.player-profile-header{padding:1rem}.player-profile-avatar{width:48px;height:48px;font-size:1rem}.player-profile-name{font-size:1.15rem}.player-profile-stats-grid{gap:.75rem}.player-profile-stat-value{font-size:1.25rem}}html[data-theme=light] .player-profile-avatar,html[data-theme=light] .player-profile-opponent-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}html[data-theme=light] .player-profile-header,html[data-theme=light] .player-profile-card{box-shadow:var(--shadow-md)}.player-profile-edit-card{margin-bottom:1rem}.player-profile-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-bottom:1rem}@media(max-width:640px){.player-profile-edit-grid{grid-template-columns:1fr}}.player-profile-edit-field{display:flex;flex-direction:column;gap:.35rem}.player-profile-edit-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.player-profile-edit-input{font-family:inherit;font-size:.9rem;padding:.45rem .6rem;border-radius:.4rem;border:1px solid var(--card-border-color);background:var(--color-background);color:var(--color-text-primary)}.player-profile-edit-input:disabled{opacity:.75}.player-profile-edit-save{width:100%;justify-content:center}.player-profile-edit-banner{font-size:.9rem;margin:0 0 .75rem;padding:.5rem .65rem;border-radius:.4rem}.player-profile-edit-banner-ok{background:#22c55e26;color:var(--color-success-light)}.player-profile-edit-banner-err{background:#ef44441f;color:var(--stat-negative)}.chart-container{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));padding:1.5rem;border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;height:400px;color:var(--color-text-primary)}.chart-title{color:var(--color-text-primary);font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;margin-top:0}.legend-container{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-line{width:.75rem;height:.125rem;border-radius:1px}.legend-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.chart-attribution{text-align:right;margin-top:.5rem}.chart-attribution span{color:var(--color-text-disabled);font-size:.75rem}@media(max-width:768px){.chart-container{padding:1rem;height:400px}.chart-title{font-size:1.125rem;margin-bottom:1rem}.legend-container{gap:1rem}.legend-text{font-size:.8125rem}}@media(max-width:480px){.chart-container{padding:.75rem;height:350px}.legend-container{flex-direction:column;align-items:center;gap:.5rem}}.player-stats-container{display:flex;flex-direction:column;gap:24px}.player-stat-item{display:flex;flex-direction:column;gap:8px}.player-stat-header{display:flex;justify-content:space-between;align-items:center}.player-stat-label{color:var(--color-text-muted);font-size:14px;font-weight:600}.player-stat-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.progress-bar-container{width:100%;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden}.player-progress-bar{height:100%;border-radius:4px;transition:width .3s ease}.progress-green{background-color:var(--color-success-light)}.progress-blue{background-color:var(--color-primary)}.progress-yellow{background-color:var(--highlight-amber)}.match-history-modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.match-history-modal-content{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-primary);box-shadow:var(--shadow-xl)}.match-history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border-color)}.match-history-modal-title{font-size:1.5rem;font-weight:600;margin:0}.match-history-modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.match-history-modal-close:hover{color:var(--color-text-primary)}.match-history-modal-filters{padding:1.5rem;border-bottom:1px solid var(--card-border-color);display:flex;flex-direction:column;gap:1rem}.match-history-search-container{position:relative;display:flex;align-items:center}.match-history-search-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none}.match-history-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;transition:border-color .2s}.match-history-search-input:focus{outline:none;border-color:var(--color-primary)}.match-history-filter-buttons{display:flex;gap:.5rem}.match-history-filter-btn{padding:.5rem 1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.match-history-filter-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.match-history-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-strong-colored)}.match-history-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.match-history-modal-list{display:flex;flex-direction:column;gap:.75rem}.match-history-modal-item{display:flex;flex-direction:column;align-items:stretch;padding:1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;transition:background .2s}.match-history-modal-item:hover{background:var(--color-surface-elevated)}.match-history-modal-item-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem}.match-history-modal-item-tournament{font-weight:600;flex:1;min-width:0}.match-history-modal-item-details{font-size:.875rem;color:var(--color-text-muted)}.match-history-modal-item-result{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.match-history-modal-result-badge{padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.match-history-modal-result-badge.won{background:color-mix(in srgb,var(--stat-positive) 22%,transparent);color:var(--stat-positive)}.match-history-modal-result-badge.lost{background:color-mix(in srgb,var(--stat-negative) 22%,transparent);color:var(--stat-negative)}.match-history-modal-item-score{font-weight:600;color:var(--color-text-muted)}.match-history-modal-empty{text-align:center;padding:3rem;color:var(--color-text-muted)}.match-history-modal-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--card-border-color)}.match-history-modal-pagination-btn{background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.match-history-modal-pagination-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.match-history-modal-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.match-history-modal-pagination-info{color:var(--color-text-muted);font-size:.875rem}@media(max-width:768px){.match-history-modal-backdrop{align-items:flex-end;padding:0}.match-history-modal-content{width:100%;max-height:85vh;border-radius:1rem 1rem 0 0;border-bottom:none}.match-history-modal-header{padding:1rem 1rem 1rem 1.25rem}.match-history-modal-title{font-size:1.25rem;padding-right:2.5rem}.match-history-modal-close{padding:.5rem}.match-history-modal-filters{padding:1rem 1.25rem}.match-history-search-input{min-height:48px;font-size:16px}.match-history-filter-buttons{flex-wrap:wrap;gap:.5rem}.match-history-filter-btn{flex:1;min-width:0;min-height:44px}.match-history-modal-body{padding:1rem 1.25rem}.match-history-modal-item-top{gap:.5rem;margin-bottom:.2rem}.match-history-modal-item{padding:.75rem 1rem}.match-history-modal-pagination{flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.match-history-modal-pagination-btn{min-width:48px;min-height:48px}.match-history-modal-pagination-info{font-size:.8rem;text-align:center}}@media(max-width:480px){.match-history-modal-content{max-height:90vh}.match-history-modal-header,.match-history-modal-filters,.match-history-modal-body{padding:.75rem 1rem}.match-history-modal-item-details{font-size:.8rem}.match-history-modal-result-badge{font-size:.7rem}}.head-to-head-modal-backdrop{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.head-to-head-modal-content{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-primary);box-shadow:var(--shadow-xl)}.head-to-head-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--card-border-color)}.head-to-head-modal-title{font-size:1.5rem;font-weight:600;margin:0}.head-to-head-modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.head-to-head-modal-close:hover{color:var(--color-text-primary)}.head-to-head-modal-filters{padding:1.5rem;border-bottom:1px solid var(--card-border-color);display:flex;flex-direction:column;gap:1rem}.head-to-head-filter-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.head-to-head-balance-filters{display:flex;gap:.5rem}.head-to-head-filter-btn{padding:.5rem 1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;transition:all .2s}.head-to-head-filter-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.head-to-head-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-strong-colored)}.head-to-head-search-container{position:relative;display:flex;align-items:center}.head-to-head-search-icon{position:absolute;left:1rem;color:var(--color-text-muted);pointer-events:none}.head-to-head-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;transition:border-color .2s}.head-to-head-search-input:focus{outline:none;border-color:var(--color-primary)}.head-to-head-sort-container{display:flex;align-items:center;gap:.75rem}.head-to-head-sort-label{color:var(--color-text-muted);font-size:.875rem}.head-to-head-sort-select{padding:.5rem 1rem;background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:border-color .2s}.head-to-head-sort-select:focus{outline:none;border-color:var(--color-primary)}.head-to-head-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.head-to-head-modal-list{display:flex;flex-direction:column;gap:.75rem}.head-to-head-modal-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface-muted-bg);border:1px solid var(--card-border-color);border-radius:.5rem;transition:background .2s}.head-to-head-modal-item:hover{background:var(--color-surface-elevated)}.head-to-head-modal-item-info{display:flex;align-items:center;gap:1rem;flex:1}.head-to-head-modal-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--accent-violet));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;color:var(--text-on-strong-colored)}html[data-theme=light] .head-to-head-modal-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}.head-to-head-modal-item-details{flex:1}.head-to-head-modal-item-name{font-weight:600;margin-bottom:.25rem}.head-to-head-modal-item-name-clickable{transition:color .2s}.head-to-head-modal-item-name-clickable:hover{color:var(--color-primary)}.head-to-head-modal-item-rank{font-size:.875rem;color:var(--color-text-muted)}.head-to-head-modal-item-record{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.head-to-head-modal-record-score{font-weight:600;font-size:1rem}.head-to-head-modal-record-score.winning{color:var(--stat-positive)}.head-to-head-modal-record-score.losing{color:var(--stat-negative)}.head-to-head-modal-record-percentage{font-size:.875rem;color:var(--color-text-muted)}.head-to-head-modal-sets-balance{font-size:.75rem;color:var(--color-text-disabled);margin-top:.25rem}.head-to-head-modal-empty{text-align:center;padding:3rem;color:var(--color-text-muted)}.head-to-head-modal-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--card-border-color)}.head-to-head-modal-pagination-btn{background:var(--color-bg-inset);border:1px solid var(--card-border-color);border-radius:.5rem;color:var(--color-text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.head-to-head-modal-pagination-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary)}.head-to-head-modal-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.head-to-head-modal-pagination-info{color:var(--color-text-muted);font-size:.875rem}.my-profile-redirect-msg{padding:2rem;max-width:32rem;margin:0 auto;color:var(--color-text-muted);text-align:center}.h2h-tennis-comparison{min-height:80vh;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,sans-serif;font-weight:600;width:100%;max-width:1400px;padding:0 9%;margin:0 auto}.h2h-container{max-width:1200px;margin:0 auto}.h2h-header-section{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 10px 25px #0000004d}.h2h-players-header{display:flex;align-items:center;justify-content:center;gap:32px}.h2h-player-info{text-align:center}.h2h-player-avatar{background:linear-gradient(135deg,var(--accent-blue-on-surface),var(--accent-violet));width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 16px;border:4px solid;align-items:center;justify-content:center;font-size:24px;display:flex}.h2h-alex-avatar{border-color:var(--stat-positive)}.h2h-mike-avatar{border-color:var(--stat-negative)}.h2h-player-avatar img{width:100%;height:100%;object-fit:cover}html[data-theme=light] .h2h-player-avatar{background:linear-gradient(135deg,var(--avatar-placeholder-from),var(--avatar-placeholder-to));color:var(--avatar-placeholder-initials)}html[data-theme=light] .h2h-player-name{color:var(--color-text-primary)}.h2h-player-name{font-size:20px;font-weight:700;color:#fff;margin:0 0 8px}.h2h-player-rank{font-weight:600;margin:0 0 4px}.h2h-alex-rank{color:var(--stat-positive)}.h2h-mike-rank{color:var(--stat-negative)}.h2h-player-status{color:var(--color-text-muted);font-size:14px;margin:0}.h2h-vs-section{text-align:center;padding:0 32px}.h2h-vs-text{font-size:48px;font-weight:700;color:var(--color-primary);margin-bottom:8px}.h2h-vs-subtitle{color:var(--color-text-muted);font-size:14px}.h2h-player-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-player-stats-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;box-shadow:0 10px 25px #0000004d}.h2h-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.h2h-stat-item{text-align:center}.h2h-stat-value{font-size:28px;font-weight:700}.h2h-stat-label-small{color:var(--color-text-muted);font-size:12px}.h2h-alex-wins,.h2h-mike-wins{color:var(--color-primary)}.h2h-orange{color:var(--accent-orange-muted)}.h2h-red{color:var(--stat-negative)}.h2h-green{color:var(--stat-positive)}.h2h-purple{color:var(--accent-violet)}.h2h-yellow{color:var(--highlight-amber)}.h2h-head-to-head-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-h2h-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1rem;text-align:center;box-shadow:0 10px 25px #0000004d}.h2h-h2h-value{font-size:38px;font-weight:700}.h2h-alex-h2h{color:var(--stat-positive)}.h2h-total-matches{color:var(--color-primary)}.h2h-mike-h2h{color:var(--stat-negative)}.h2h-h2h-label{font-size:16px;color:#fff;font-weight:600}.h2h-h2h-subtitle{color:var(--color-text-muted);font-size:12px}.h2h-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.h2h-analytics-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:2rem;box-shadow:0 10px 25px #0000004d}.h2h-analytics-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 24px}.h2h-stat-bar{margin-bottom:20px}.h2h-stat-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.h2h-stat-label{color:var(--color-text-secondary);font-size:14px}.h2h-stat-values{color:#fff;font-size:14px}.h2h-stat-bar-container{display:flex;height:8px;background-color:var(--ui-indicator-muted);border-radius:4px;overflow:hidden}.h2h-stat-bar-alex{background-color:var(--stat-positive);height:100%;transition:width .5s ease}.h2h-stat-bar-mike{background-color:var(--stat-negative);height:100%;transition:width .5s ease}.h2h-stat-bar-footer{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted);margin-top:4px}.h2h-timeline{position:relative}.h2h-timeline-line{position:absolute;left:12px;top:0;bottom:0;width:2px;background-color:var(--ui-indicator-muted)}.h2h-timeline-items{display:flex;flex-direction:column;gap:24px}.h2h-timeline-item{display:flex;align-items:center}.h2h-timeline-dot{width:12px;height:12px;border-radius:50%;z-index:10;flex-shrink:0}.h2h-timeline-dot.h2h-win{background-color:var(--stat-positive)}.h2h-timeline-dot.h2h-loss{background-color:var(--stat-negative)}.h2h-timeline-content{margin-left:16px;flex:1}.h2h-timeline-header{display:flex;align-items:center;justify-content:space-between}.h2h-timeline-date{color:#fff;font-weight:500}.h2h-timeline-badge{font-size:12px;padding:4px 8px;border-radius:4px}.h2h-timeline-badge.h2h-win{background-color:#10b98133;color:var(--stat-positive)}.h2h-timeline-badge.h2h-loss{background-color:#ef444433;color:var(--stat-negative)}.h2h-timeline-attribution{margin-top:24px;font-size:12px;color:var(--color-text-muted)}.h2h-match-history-card{background:linear-gradient(145deg,var(--color-background-card),var(--color-bg-inset));border:1px solid var(--card-border-color);border-radius:.75rem;padding:1.5rem;box-shadow:0 10px 25px #0000004d}.h2h-match-history-title{font-size:20px;font-weight:700;color:#fff;margin:0 0 1.5rem}.h2h-match-history-list{display:flex;flex-direction:column;gap:1rem}.h2h-match-history-item{display:flex;align-items:center;justify-content:space-between;padding:13px;background-color:#000;border-radius:8px;transition:background-color .3s ease}.h2h-match-history-item:hover{background-color:var(--ui-indicator-muted)}.h2h-match-left{display:flex;align-items:center;gap:16px}.h2h-match-status-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.h2h-match-status-dot.h2h-win{background-color:var(--stat-positive)}.h2h-match-status-dot.h2h-loss{background-color:var(--stat-negative)}.h2h-match-tournament{color:#fff;font-size:14px;font-weight:600;margin-bottom:2px}.h2h-match-meta{color:var(--color-text-muted);font-size:12px}.h2h-match-right{text-align:right}.h2h-match-result{font-size:14px;font-weight:600;margin-bottom:2px}.h2h-match-result-win{color:var(--stat-positive)}.h2h-match-result-loss{color:var(--stat-negative)}.h2h-match-score{font-size:12px}.h2h-match-score-win{color:var(--stat-positive)}.h2h-match-score-loss{color:var(--stat-negative)}html[data-theme=light] .h2h-header-section,html[data-theme=light] .h2h-player-stats-card,html[data-theme=light] .h2h-h2h-card,html[data-theme=light] .h2h-analytics-card,html[data-theme=light] .h2h-match-history-card{box-shadow:var(--shadow-md)}html[data-theme=light] .h2h-h2h-label,html[data-theme=light] .h2h-analytics-title,html[data-theme=light] .h2h-match-history-title,html[data-theme=light] .h2h-match-tournament,html[data-theme=light] .h2h-timeline-date,html[data-theme=light] .h2h-stat-values{color:var(--color-text-primary)}html[data-theme=light] .h2h-match-history-item{background-color:var(--color-bg-inset);border:1px solid var(--card-border-color)}html[data-theme=light] .h2h-match-history-item:hover{background-color:var(--color-row-hover)}@media(max-width:768px){.h2h-tennis-comparison{padding:1rem}.h2h-header-section{padding:1.25rem;margin-bottom:1rem}.h2h-players-header{flex-direction:row;flex-wrap:wrap;gap:.5rem;justify-content:center}.h2h-player-info{flex:1;min-width:0;max-width:140px}.h2h-player-avatar{width:40px;height:40px;font-size:.85rem;margin-bottom:4px}.h2h-player-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h2h-player-rank{font-size:.7rem}.h2h-vs-section{padding:0 .5rem;display:flex;align-items:center}.h2h-vs-text{font-size:1.25rem}.h2h-vs-subtitle{display:none}.h2h-player-stats-grid,.h2h-analytics-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.h2h-player-stats-card{padding:1rem}.h2h-head-to-head-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.h2h-h2h-card{padding:.75rem}.h2h-h2h-value{font-size:1.5rem}.h2h-h2h-label{font-size:.75rem}.h2h-analytics-card{padding:1rem}.h2h-analytics-title{font-size:1rem;margin-bottom:1rem}.h2h-stat-bar{margin-bottom:1rem}.h2h-stat-label,.h2h-stat-values{font-size:.8rem}.h2h-stat-bar-footer{font-size:.7rem}.h2h-timeline-items{gap:1rem}.h2h-match-history-card{padding:1rem}.h2h-match-history-title{font-size:1rem;margin-bottom:1rem}.h2h-match-history-item{padding:.75rem}.h2h-match-tournament{font-size:.85rem}.h2h-match-meta{font-size:.75rem}}@media(max-width:480px){.h2h-tennis-comparison{padding:.75rem}.h2h-header-section{padding:1rem}.h2h-player-info{max-width:110px}.h2h-player-avatar{width:36px;height:36px;font-size:.75rem}.h2h-player-name{font-size:.8rem}.h2h-vs-text{font-size:1rem}.h2h-head-to-head-grid{grid-template-columns:1fr;gap:.5rem}.h2h-h2h-value{font-size:1.5rem}.h2h-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.h2h-stat-value{font-size:1.25rem}.h2h-stat-label-small{font-size:.65rem}.h2h-match-history-item{flex-direction:row;align-items:center;gap:.5rem}.h2h-match-left{flex:1;min-width:0}.h2h-match-tournament{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.h2h-chart-chart-wrapper{position:relative;height:160px;width:105%;left:-30px}.h2h-chart-custom-tooltip{background-color:var(--color-background-card);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem;box-shadow:var(--shadow-lg)}.h2h-chart-tooltip-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;margin:0 0 .25rem}.h2h-chart-tooltip-value{font-size:.875rem;margin:0}.h2h-chart-legend-text{color:var(--color-text-secondary);font-size:14px}.login-container{min-height:100vh;background-color:var(--color-background);display:flex;align-items:center;justify-content:center;padding:1rem}.login-wrapper{width:100%;max-width:28rem}.login-card{background-color:var(--color-background-card);border-radius:1rem;padding:2rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--card-border-color)}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.login-subtitle{color:var(--color-text-muted)}.form-error{padding:.75rem;background:color-mix(in srgb,var(--color-error) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 32%,transparent);border-radius:.5rem;color:var(--stat-negative);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem}.input-container{position:relative}.input-icon{position:absolute;left:.75rem;top:.75rem;width:1.25rem;height:1.25rem;color:var(--color-text-muted)}.form-input{width:100%;height:50px;background-color:var(--color-background);border:1px solid var(--card-border-color);border-radius:.5rem;padding:.75rem .75rem .75rem 2.5rem;color:var(--color-text-primary);font-size:1rem;transition:all .2s ease-in-out;box-sizing:border-box}.form-input::placeholder{color:var(--input-placeholder-color)}.form-input:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px var(--color-primary)}.password-input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:.75rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;transition:color .2s ease-in-out}.password-toggle:hover{color:var(--color-text-secondary)}.toggle-icon{width:1.25rem;height:1.25rem}.form-options{display:flex;align-items:center;justify-content:space-between}.remember-me{display:flex;align-items:center;cursor:pointer}.checkbox{width:1rem;height:1rem;background-color:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:.25rem;margin-right:.5rem;accent-color:var(--color-primary)}.checkbox:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.checkbox-label{font-size:.875rem;color:var(--color-text-secondary)}.forgot-password{font-size:.875rem;color:var(--color-primary);background:none;border:none;cursor:pointer;transition:color .2s ease-in-out}.forgot-password:hover{color:var(--color-primary-hover)}.signin-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-active));color:var(--text-on-strong-colored);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;font-size:.95rem;align-items:center;gap:.5rem;transition:all .2s;border:none;cursor:pointer;box-shadow:0 2px 4px var(--fill-primary-strong)}.signin-button:hover{background-color:var(--color-primary-hover);transform:scale(1.02)}.signin-button:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary),0 0 0 4px var(--fill-primary-soft)}.create-account-section{margin-top:2rem;text-align:center}.create-account-text{color:var(--color-text-muted);margin-bottom:1rem}.create-account-button{color:var(--color-primary);font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s ease-in-out}.create-account-button:hover{color:var(--color-primary-hover)}a.create-account-button{text-decoration:none}.terms-section{margin-top:1.5rem;text-align:center}.terms-text{font-size:.75rem;color:var(--color-text-disabled)}.terms-link{color:var(--color-primary);background:none;border:none;cursor:pointer;font-size:inherit;transition:color .2s ease-in-out}.terms-link:hover{color:var(--color-primary-hover)}@media(max-width:480px){.login-container{padding:.5rem}.login-card{padding:1.5rem}.login-title{font-size:1.25rem}}.auth-modal-overlay{position:fixed;inset:0;background-color:var(--modal-backdrop);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:auth-modal-fade-in .2s ease-out}@keyframes auth-modal-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal-content{background-color:var(--color-background-card);border-radius:1rem;padding:0;box-shadow:var(--shadow-xl);border:1px solid var(--card-border-color);width:100%;max-width:28rem;max-height:min(92vh,720px);display:flex;flex-direction:column;overflow:hidden;animation:auth-modal-slide-in .25s ease-out}.auth-modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2.75rem 2rem 2rem;box-sizing:border-box}@keyframes auth-modal-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;transition:color .2s,background .2s}.auth-modal-close:hover{color:var(--color-text-primary);background:var(--color-row-hover)}.auth-modal-wrapper{position:relative;min-height:0}.admin-container{min-height:60vh;padding:2rem;display:flex;align-items:flex-start;justify-content:center}.admin-card{background-color:var(--color-background-card);border-radius:1rem;padding:2rem;max-width:32rem;width:100%;border:1px solid var(--card-border-color)}.admin-card-wide{max-width:1100px}.admin-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.admin-subtitle{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.5rem}.admin-users-section{margin-top:.5rem}.admin-section-title{font-size:1.1rem;font-weight:700;color:var(--color-text-secondary);margin:0 0 1rem}.admin-muted{color:var(--color-text-disabled);font-size:.95rem}.admin-error{color:var(--color-error-light);font-size:.9rem;margin-bottom:1rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--card-border-color);border-radius:.75rem}.admin-users-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-users-table th,.admin-users-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--card-border-color)}.admin-users-table th{background:var(--color-table-header);color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-users-table tbody tr:hover td{background:var(--color-row-hover)}.admin-users-table td{color:var(--color-text-secondary)}.admin-cell-muted{color:var(--color-text-muted);white-space:nowrap}.admin-btn{padding:.45rem .85rem;border-radius:.5rem;font-weight:600;font-size:.8rem;border:none;cursor:pointer;white-space:nowrap}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-grant{background:#22c55e33;color:var(--stat-positive);border:1px solid rgba(34,197,94,.4)}.admin-btn-grant:hover:not(:disabled){background:#22c55e4d}.admin-btn-revoke{background:#ef444426;color:var(--stat-negative);border:1px solid rgba(239,68,68,.35)}.admin-btn-revoke:hover:not(:disabled){background:#ef444440}.admin-self-admin-hint{font-size:.8rem;color:var(--color-text-disabled);font-style:italic;cursor:help}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin-tab{padding:.5rem 1rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:transparent;color:var(--color-text-muted);font-weight:600;font-size:.875rem;cursor:pointer}.admin-tab:hover{color:var(--color-text-secondary);border-color:var(--color-border)}.admin-tab-active{background:#8b5cf626;border-color:#8b5cf673;color:var(--accent-violet-muted)}.admin-btn.secondary{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--lang-btn-border)}.admin-cycles-toolbar,.admin-cycles-list-wrap{margin-bottom:1rem}.admin-cycle-form{margin-top:.5rem;padding:1rem;border:1px solid var(--card-border-color);border-radius:.75rem;background:var(--color-code-bg)}.admin-cycle-field{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem;font-size:.85rem;color:var(--color-text-muted)}.admin-cycle-input{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.95rem}.admin-cycle-points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem .75rem;margin-top:.5rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.admin-cycle-point-cell{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;color:var(--color-text-muted)}.admin-cycle-place-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-cycle-point-input{padding:.35rem .5rem;border-radius:.35rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.85rem;width:100%}.admin-cycle-form-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.admin-cycle-linked-list{list-style:none;margin:.5rem 0 0;padding:0}.admin-cycle-linked-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--card-border-color);font-size:.875rem;color:var(--color-text-secondary)}.cycles-page{min-height:80vh;width:100%;max-width:1400px;margin:0 auto;padding:0 9%;background-color:var(--color-background);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600}@media(max-width:768px){.cycles-page{padding:0 1rem}}@media(max-width:480px){.cycles-page{padding:0 .75rem}}.cycles-inner{width:100%;padding-top:1.5rem;padding-bottom:2rem}@media(max-width:768px){.cycles-inner{padding-top:1rem;padding-bottom:1.5rem}}.cycles-title{font-size:1.35rem;font-weight:700;margin:0 0 .35rem}.cycles-subtitle{color:var(--color-text-muted);font-size:.95rem;margin:0 0 1.25rem}.cycles-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.cycles-select-label{font-size:.9rem;color:var(--color-text-secondary)}.cycles-select{min-width:220px;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--lang-btn-border);background:var(--color-bg-inset);color:var(--color-text-primary);font-size:.95rem}.cycles-muted{color:var(--color-text-disabled);font-size:.95rem}.cycles-error{color:var(--color-error-light);font-size:.9rem}.cycles-table-scroll{overflow-x:auto;border:1px solid var(--card-border-color);border-radius:.75rem;-webkit-overflow-scrolling:touch}.cycles-table{width:100%;min-width:480px;border-collapse:collapse;font-size:.875rem}.cycles-table th,.cycles-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--card-border-color);white-space:nowrap}.cycles-table th{background:var(--color-table-header);color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.cycles-cell-player{font-weight:600;color:var(--color-text-secondary);max-width:220px;overflow:hidden;text-overflow:ellipsis}.cycles-cell-pts{text-align:center;color:var(--color-text-secondary)}.cycles-cell-total{font-weight:700;color:var(--accent-violet);text-align:center}.cycles-empty-row{text-align:center;color:var(--color-text-disabled);padding:1.5rem!important}.verify-email-modal-overlay{z-index:1001}.verify-email-modal--error .login-title{color:var(--color-error-strong, #b91c1c)}
