@import "https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap";:root{--color-primary:#6290c3;--color-primary-dark:#456f9f;--color-primary-light:#d8e7f5;--color-accent:#ed217c;--color-accent-dark:#b9155d;--color-accent-light:#ffd3e6;--color-background:#d4e4ed;--color-surface:#fff;--color-surface-alt:#b7d2e1;--color-highlight:#f6dc8f;--color-highlight-dark:#c99936;--color-highlight-light:#fff3c4;--color-warning:var(--color-highlight);--color-success:#6ab3b4;--color-success-soft:#92c7c8;--color-danger:#d81b60;--color-danger-dark:#a9144a;--color-text:#1a1b41;--color-text-light:#5f6387;--color-border:#bce2e9;--shadow-sm:0 1px 2px #1a1b4114;--shadow-md:0 8px 24px #1a1b411f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--transition:.2s ease}[data-theme=dark]{--color-primary:#7da9d8;--color-primary-dark:#6290c3;--color-primary-light:#223456;--color-accent:#ff4d9a;--color-accent-dark:#ed217c;--color-accent-light:#4b2041;--color-background:#10112b;--color-surface:#1a1b41;--color-surface-alt:#232552;--color-highlight:#5c4a1f;--color-highlight-dark:#d8b24a;--color-highlight-light:#3c321b;--color-warning:var(--color-highlight);--color-success:#7dd3b4;--color-success-soft:#183f39;--color-danger:#ff5c9d;--color-danger-dark:#ed217c;--color-text:#f1ffe7;--color-text-light:#c2e7da;--color-border:#343762;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 12px 30px #00000061}*{box-sizing:border-box}:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 42%, transparent);outline-offset:2px}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--color-background);color:var(--color-text);font-family:Fira Sans,system-ui,sans-serif;line-height:1.45}a{color:var(--color-primary);text-underline-offset:3px;transition:color var(--transition), background var(--transition)}a:hover{color:var(--color-primary-dark)}h1,h2,h3,p{overflow-wrap:anywhere}button{cursor:pointer;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);border:none;padding:10px 16px;font-family:inherit;font-weight:600}button:hover{background:var(--color-primary-dark)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);padding:10px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent)}table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}th{background:var(--color-primary);color:#fff}th,td{border-color:var(--color-border);padding:12px}tbody tr{transition:background var(--transition)}hr{border:none;border-top:1px solid var(--color-border);margin:32px 0}.page-container{width:min(100%,1120px);margin:0 auto;padding:32px 24px 56px}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:20px}.table-scroll{border-radius:var(--radius-md);width:100%;overflow-x:auto}.muted-text{color:var(--color-text-light)}@media (width<=768px){.page-container{padding:24px 14px 44px}table{font-size:13px}th,td{padding:10px 8px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.mobile-only{display:none}.desktop-only{display:inline}@media (width<=768px){.mobile-only{display:inline}.desktop-only{display:none}nav:not(.main-topbar):not(.mobile-bottom-nav){flex-wrap:wrap;gap:12px}nav:not(.main-topbar):not(.mobile-bottom-nav) h2{width:100%;margin:0}nav:not(.main-topbar):not(.mobile-bottom-nav) a{font-size:14px}}:root{--text:var(--color-text-light);--text-h:var(--color-text);--bg:var(--color-background);--border:var(--color-border);--code-bg:var(--color-surface);--accent:var(--color-primary);--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:var(--color-surface);--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Fira Sans", system-ui, sans-serif;--heading:"Fira Sans", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent-bg:#2fb8c326;--accent-border:#2fb8c373;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-page{background:radial-gradient(circle at top left, color-mix(in srgb, var(--color-primary) 22%, transparent), transparent 34%), var(--color-background);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.login-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(100%,980px);box-shadow:var(--shadow-md);grid-template-columns:1.05fr .95fr;display:grid;overflow:hidden}.login-visual{color:#fff;background:linear-gradient(140deg, var(--color-primary-dark), var(--color-primary));flex-direction:column;justify-content:space-between;min-height:560px;padding:40px;display:flex;position:relative}.login-visual:before{content:"";border-radius:var(--radius-lg);pointer-events:none;border:1px solid #ffffff47;position:absolute;inset:24px}.login-visual:after{content:"";border:22px solid #ffffff29;border-radius:50%;width:180px;height:180px;position:absolute;bottom:80px;right:-54px}.login-scoreboard{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-text) 18%, transparent);text-align:left;z-index:1;border:1px solid #ffffff38;gap:6px;width:fit-content;padding:18px 20px;display:grid}.login-scoreboard span{opacity:.86;font-size:13px}.login-scoreboard strong{font-size:38px;line-height:1}.login-ball{object-fit:contain;width:140px;height:auto;filter:drop-shadow(0 18px 28px color-mix(in srgb, var(--color-text) 32%, transparent));z-index:1;animation:2.4s ease-in-out infinite login-ball-bounce;position:absolute;top:38%;right:14%}@keyframes login-ball-bounce{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-18px)rotate(4deg)}}.login-visual h2{color:#fff;max-width:360px;margin:8px 0 12px;font-size:34px;font-weight:800;line-height:1.08}.login-visual p{color:#ffffffd6;max-width:390px}.login-card{text-align:left;flex-direction:column;justify-content:center;gap:18px;padding:42px;display:flex}.login-heading{margin-bottom:6px}.login-heading h1{color:var(--color-text);margin:6px 0 8px;font-size:36px;font-weight:800;line-height:1.05}.login-heading p{color:var(--color-text-light)}.login-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.login-field{color:var(--color-text);gap:8px;font-weight:700;display:grid}.login-field span{font-size:14px}.login-field input,.login-primary,.login-secondary{border-radius:var(--radius-md);width:100%;min-height:46px}.login-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.login-secondary:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.login-error{border:1px solid color-mix(in srgb, var(--color-danger) 45%, var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));color:var(--color-danger);padding:12px 14px;font-weight:700}.login-disclaimer{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));color:var(--color-text-light);gap:6px;margin-top:4px;padding:12px 14px;font-size:12px;line-height:1.45;display:grid}.login-disclaimer p{margin:0}.login-legal-links{flex-wrap:wrap;justify-content:center;gap:14px;font-size:13px;display:flex}.login-legal-links a{color:var(--color-primary);font-weight:700;text-decoration:none}.login-legal-links a:hover,.login-legal-links a:focus-visible{color:var(--color-accent)}@media (width<=760px){.login-page{align-items:stretch;padding:16px}.login-shell{grid-template-columns:1fr}.login-visual{min-height:210px;padding:28px}.login-visual:after{display:none}.login-ball{opacity:.92;width:92px;top:28%;right:18%}.login-scoreboard{display:none}.login-visual h2{font-size:28px}.login-card{padding:28px}.login-heading h1{font-size:30px}}.match-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);color:var(--color-text);transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);gap:14px;padding:20px;display:grid}.match-card-clickable{cursor:pointer}.match-card-clickable:hover,.match-card-clickable:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.match-card-body{min-width:0}.match-card-meta{color:var(--color-text-light);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.match-card-meta span{min-width:0}.match-card-status{border:1px solid var(--color-border);color:var(--color-text-light);background:var(--color-background);border-radius:999px;padding:4px 8px;font-weight:700}.match-card-status-finished{color:var(--color-primary);border-color:color-mix(in srgb, var(--color-primary) 42%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}.match-card-actions{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;display:flex}.match-card-actions button{min-height:38px}.match-card-compact{gap:10px;padding:16px}.match-card-compact .match-card-meta{font-size:12px}@media (width<=640px){.match-card{border-radius:var(--radius-md);padding:16px}.match-card-meta{gap:8px;font-size:12px}.match-card-actions button{flex:120px}}.empty-state{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, var(--color-primary)), var(--color-surface));width:100%;color:var(--color-text);box-shadow:var(--shadow-sm);text-align:center;justify-items:center;gap:14px;margin:22px auto;padding:34px 24px;display:grid}.empty-state-compact{margin:14px 0;padding:22px 18px}.empty-state-warning{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 86%, var(--color-highlight)), var(--color-surface))}.empty-state-icon{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));width:68px;height:68px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:34px;font-weight:800;display:grid}.empty-state-warning .empty-state-icon{background:color-mix(in srgb, var(--color-highlight) 40%, var(--color-surface));color:var(--color-text)}.empty-state-image{object-fit:contain;width:min(160px,50vw);max-height:160px}.empty-state-content h2{color:var(--color-text);margin:0;font-size:24px;font-weight:800}.empty-state-content p{max-width:520px;color:var(--color-text-light);margin:8px auto 0;line-height:1.5}.empty-state-action{margin-top:4px}@media (width<=640px){.empty-state{margin:18px auto;padding:26px 18px}.empty-state-icon{width:58px;height:58px;font-size:29px}.empty-state-content h2{font-size:21px}}.admin-page{text-align:left;width:min(100%,1120px);margin:0 auto;padding:32px 24px 48px}.admin-hero{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 14%, var(--color-surface)), var(--color-surface));box-shadow:var(--shadow-sm);margin-bottom:28px;padding:28px}.admin-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:800}.admin-hero h1{color:var(--color-text);margin:0 0 8px;font-size:40px;font-weight:800;line-height:1.05}.admin-hero p:last-child{max-width:620px;color:var(--color-text-light)}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.admin-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:260px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;justify-content:space-between;gap:20px;padding:24px;display:flex}.admin-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.admin-card-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 14%, var(--color-background));place-items:center;width:54px;height:54px;font-size:28px;display:grid}.admin-card-content h2{color:var(--color-text);margin:0 0 10px;font-size:24px;font-weight:800}.admin-card-content p{color:var(--color-text-light)}.admin-card button{width:fit-content}@media (width<=900px){.admin-grid{grid-template-columns:1fr}.admin-card{min-height:auto}}@media (width<=560px){.admin-page{padding:20px 16px 36px}.admin-hero{padding:22px}.admin-hero h1{font-size:32px}}.match-form-page{text-align:left;width:min(100%,1120px);margin:0 auto;padding:28px 24px 48px}.match-form-header{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 12%, var(--color-surface)), var(--color-surface));box-shadow:var(--shadow-sm);margin-bottom:22px;padding:24px}.match-form-header p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.match-form-header h1{color:var(--color-text);margin:0 0 8px;font-size:38px;font-weight:800;line-height:1.08}.match-form-header span{max-width:720px;color:var(--color-text-light);display:block}.match-form-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:22px;display:grid}.match-form-card,.match-preview-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:24px}.match-preview-card{gap:16px;display:grid;position:sticky;top:92px}.match-form-section{border-bottom:1px solid var(--color-border);gap:16px;margin-bottom:24px;padding-bottom:24px;display:grid}.match-form-section:last-of-type{margin-bottom:0}.match-form-section-title h2{color:var(--color-text);margin:0 0 6px;font-size:22px;font-weight:800}.match-form-section-title p{color:var(--color-text-light)}.match-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.match-form-field{gap:8px;display:grid}.match-form-field span{color:var(--color-text);font-size:14px;font-weight:700}.match-form-field input,.match-form-field select{border-radius:var(--radius-md);width:100%;min-height:44px}.match-form-wide{grid-column:1/-1}.match-score-grid{grid-template-columns:repeat(2,minmax(0,140px));gap:16px;display:grid}.match-score-grid input{text-align:center;font-size:20px;font-weight:800}.match-form-actions{justify-content:flex-end;padding-top:4px;display:flex}.match-form-actions button{border-radius:var(--radius-md);min-width:160px;min-height:46px}@media (width<=920px){.match-form-layout{grid-template-columns:1fr}.match-preview-card{position:static}}@media (width<=620px){.match-form-page{padding:20px 16px 36px}.match-form-header,.match-form-card,.match-preview-card{border-radius:var(--radius-md);padding:20px}.match-form-header h1{font-size:30px}.match-form-grid,.match-score-grid{grid-template-columns:1fr}.match-form-actions button{width:100%}}.avatar{object-fit:cover;vertical-align:middle;background:var(--color-surface);border-radius:50%;flex:none;display:inline-block;overflow:hidden}.avatar-multi svg{width:100%;height:100%;display:block}.install-pwa-button{width:100%}.main-layout{min-height:100svh}.main-topbar{z-index:100;border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex;position:sticky;top:0}.main-nav-left{align-items:center;gap:18px;min-width:0;display:flex}.main-brand{color:var(--color-text);white-space:nowrap;margin:0;font-size:28px;font-weight:800;text-decoration:none}.main-desktop-links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.main-nav-link{border-radius:var(--radius-sm);color:var(--color-text-light);transition:color var(--transition), background var(--transition);padding:8px 10px;font-weight:700;text-decoration:none}.main-nav-link:hover,.main-nav-link.active,.main-nav-link:focus-visible{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.main-avatar-menu{flex:none;position:relative}.main-avatar-button{cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid}.main-avatar-button .avatar{border:2px solid var(--color-primary);border-radius:50%}.main-dropdown{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:210px;box-shadow:var(--shadow-md);z-index:1000;position:absolute;top:52px;right:0;overflow:hidden}.main-dropdown-button{background:var(--color-surface);width:100%;color:var(--color-text);text-align:center;cursor:pointer;border:none;border-radius:0;padding:14px;font-size:14px}.main-dropdown-button:hover,.main-dropdown-button:focus-visible{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));color:var(--color-primary)}.main-dropdown-user{border-bottom:1px solid var(--color-border);padding:14px}.main-dropdown-name{font-weight:800}.main-dropdown-email{color:var(--color-text-light);word-break:break-word;font-size:13px}.main-content{min-height:calc(100svh - 75px)}.mobile-bottom-nav{display:none}@media (width<=768px){.main-topbar{padding:12px 16px}.main-desktop-links{display:none}.main-brand{font-size:24px}.main-dropdown{width:min(260px,100vw - 32px);max-width:calc(100vw - 32px);right:0}.main-content{padding-bottom:82px}.mobile-bottom-nav{z-index:90;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.mobile-bottom-link{border-radius:var(--radius-md);min-width:0;color:var(--color-text-light);justify-items:center;gap:2px;padding:8px 4px;font-size:11px;font-weight:700;text-decoration:none;display:grid}.mobile-bottom-link span{font-size:18px;line-height:1}.mobile-bottom-link strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.mobile-bottom-link:hover,.mobile-bottom-link:focus-visible,.mobile-bottom-link.active{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}}.competitions-page{width:min(100%,1120px);margin:0 auto;padding:34px 24px 54px}.competitions-hero{margin-bottom:26px}.competitions-hero p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.competitions-hero h1{color:var(--color-text);margin:0;font-size:clamp(32px,5vw,48px);font-weight:800}.competitions-hero span{max-width:640px;color:var(--color-text-light);margin-top:8px;font-size:17px;line-height:1.45;display:block}.competitions-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.competition-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, var(--color-primary)), var(--color-surface));min-height:260px;color:var(--color-text);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);align-content:space-between;gap:18px;padding:22px;display:grid}.competition-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.competition-card.selected{border:2px solid var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 14%, transparent), var(--shadow-md)}.competition-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.competition-card-icon{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.competition-selected-badge,.competition-status{border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:800}.competition-selected-badge{background:var(--color-primary);color:var(--color-surface)}.competition-card h2{color:var(--color-text);margin:0 0 4px;font-size:26px;font-weight:800}.competition-card strong{color:var(--color-text-light);font-size:16px}.competition-card-period span{color:var(--color-text-light);text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.competition-card-period p{color:var(--color-text);margin:0;line-height:1.45}.competition-status.open{background:color-mix(in srgb, var(--color-success) 18%, var(--color-surface));color:var(--color-success)}.competition-status.closed{background:color-mix(in srgb, var(--color-danger) 18%, var(--color-surface));color:var(--color-danger)}.competition-status.upcoming{background:color-mix(in srgb, var(--color-highlight) 48%, var(--color-surface));color:var(--color-text)}@media (width<=640px){.competitions-page{padding:24px 16px 42px}.competitions-grid{grid-template-columns:1fr}.competition-card{min-height:230px;padding:18px}}.ranking-page{width:min(100%,980px);margin:0 auto;padding:32px 24px 56px}.ranking-header{margin-bottom:24px}.ranking-header p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.ranking-header h1{color:var(--color-text);margin:0;font-size:clamp(32px,5vw,46px);font-weight:800}.ranking-header span{color:var(--color-text-light);margin-top:6px;font-size:17px;display:block}.ranking-table{min-width:760px}.ranking-table tbody tr:hover{filter:brightness(.98)}.ranking-table td:first-child,.ranking-table th:first-child{text-align:center;width:96px}@media (width<=768px){.ranking-page{padding:24px 14px 44px}.ranking-table{min-width:540px}.desktop-only-column,.ranking-secondary-column{display:none}}.predictions-page{width:min(100%,1080px);margin:0 auto;padding:28px 24px 54px}.predictions-header h1{color:var(--color-text);margin:0 0 22px;font-size:36px;font-weight:800}.predictions-list{gap:14px;display:grid}.prediction-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.prediction-card.exact{background:color-mix(in srgb, var(--color-success-soft) 56%, var(--color-surface))}.prediction-card.partial{background:color-mix(in srgb, var(--color-highlight-light) 58%, var(--color-surface))}.prediction-score-row{grid-template-columns:minmax(0,1fr) 44px 18px 44px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.prediction-team{min-width:0;color:var(--color-text)}.prediction-team-a{text-align:right;justify-self:end}.prediction-team-b{text-align:left;justify-self:start}.prediction-score-row input{text-align:center;width:44px;height:40px;padding:0;font-size:18px;font-weight:800}.prediction-versus{color:var(--color-text-light);text-align:center;font-size:18px}.prediction-result{border-left:1px solid var(--color-border);justify-items:center;gap:8px;min-width:0;padding-left:18px;display:grid}.prediction-result>span{color:var(--color-text-light);text-transform:uppercase;font-size:12px;font-weight:800}.predictions-footer{margin-top:22px}@media (width<=760px){.predictions-page{padding:22px 14px 42px}.predictions-header h1{font-size:30px}.prediction-card{grid-template-columns:1fr;gap:14px;padding:14px}.prediction-score-row{grid-template-columns:minmax(0,1fr) 40px 18px 40px minmax(0,1fr);gap:6px}.prediction-score-row input{width:40px;height:40px;font-size:16px}.prediction-team{font-size:14px}.prediction-team .desktop-only{display:none}.prediction-team .mobile-only{display:inline}.prediction-result{border-top:1px solid var(--color-border);border-left:0;padding-top:12px;padding-left:0}}.match-predictions-page{width:min(100%,1040px);margin:0 auto;padding:30px 24px 56px}.match-highlight-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 90%, var(--color-primary)), var(--color-surface));box-shadow:var(--shadow-md);gap:18px;margin-bottom:30px;padding:24px;display:grid}.match-highlight-top,.match-highlight-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.match-highlight-top>span{color:var(--color-primary);text-transform:uppercase;font-size:13px;font-weight:800}.match-highlight-meta{color:var(--color-text-light);font-weight:700}.match-status{border-radius:999px;padding:6px 10px;font-size:12px}.match-status.finished{background:color-mix(in srgb, var(--color-success) 18%, var(--color-surface));color:var(--color-success)}.match-status.scheduled{background:color-mix(in srgb, var(--color-highlight) 45%, var(--color-surface));color:var(--color-text)}.match-status.pending{background:color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));color:var(--color-danger)}.match-predictions-section{gap:16px;display:grid}.match-predictions-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;display:flex}.match-predictions-heading p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.match-predictions-heading h1{color:var(--color-text);margin:0;font-size:34px;font-weight:800}.prediction-legend{flex-wrap:wrap;gap:8px;display:flex}.legend-item{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.legend-item.exact{background:var(--color-success-soft);color:var(--color-success)}.legend-item.partial{background:var(--color-highlight-light);color:var(--color-highlight-dark)}.legend-item.zero{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-light)}.match-predictions-list{gap:12px;display:grid}.match-prediction-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:var(--color-text);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) 130px minmax(150px,.45fr);align-items:center;gap:16px;padding:16px;display:grid}.match-prediction-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.match-prediction-card.exact{background:color-mix(in srgb, var(--color-success-soft) 56%, var(--color-surface))}.match-prediction-card.partial{background:color-mix(in srgb, var(--color-highlight-light) 58%, var(--color-surface))}.prediction-user{align-items:center;gap:12px;min-width:0;font-weight:800;display:flex}.prediction-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.prediction-score,.prediction-points{gap:2px;display:grid}.prediction-score span,.prediction-points span{color:var(--color-text-light);text-transform:uppercase;font-size:12px;font-weight:800}.prediction-score strong{font-size:24px;font-weight:800}.prediction-points strong{font-size:18px;font-weight:800}@media (width<=700px){.match-predictions-page{padding:22px 14px 44px}.match-highlight-card{padding:18px}.match-predictions-heading h1{font-size:28px}.match-prediction-card{grid-template-columns:1fr;gap:12px}.prediction-score,.prediction-points{grid-template-columns:1fr auto;align-items:center}}.avatar-picker{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);gap:18px;padding:20px;display:grid}.avatar-picker-preview{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.avatar-picker-preview h3{color:var(--color-text);margin:0 0 4px;font-size:22px}.avatar-picker-preview p{color:var(--color-text-light);margin:0;line-height:1.45}.avatar-picker-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.avatar-picker-section{gap:10px;display:grid}.avatar-picker-section>span{color:var(--color-text-light);text-transform:uppercase;font-size:12px;font-weight:800}.avatar-picker-options{flex-wrap:wrap;gap:10px;display:flex}.avatar-picker-option{border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);cursor:pointer;place-items:center;width:74px;height:74px;padding:6px;display:grid}.avatar-picker-option.active{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent)}.avatar-picker-option:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}@media (width<=640px){.avatar-picker-preview{text-align:center;grid-template-columns:1fr;justify-items:center}.avatar-picker-actions,.avatar-picker-options{justify-content:center}}.first-access-page{background:var(--color-background);place-items:center;min-height:100svh;padding:24px;display:grid}.first-access-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--shadow-md);gap:16px;padding:28px;display:grid}.first-access-heading{gap:6px;display:grid}.first-access-heading p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.first-access-heading h1{color:var(--color-text);margin:0;font-size:32px;line-height:1.1}.first-access-heading span,.first-access-support-text{color:var(--color-text-light);margin:0}.first-access-adult-confirmation{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text);align-items:flex-start;gap:10px;padding:12px;font-weight:700;display:flex}.first-access-adult-confirmation input{width:18px;height:18px;accent-color:var(--color-primary);flex:none;margin-top:1px}.first-access-support-text{font-size:13px;line-height:1.4}.first-access-error{border:1px solid color-mix(in srgb, var(--color-danger) 45%, var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));color:var(--color-danger);padding:12px 14px;font-weight:700}.first-access-card button:disabled{cursor:not-allowed;opacity:.58}.first-access-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.first-access-secondary:hover,.first-access-secondary:focus-visible{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}@media (width<=520px){.first-access-page{align-items:stretch;padding:16px}.first-access-card{align-self:center;padding:22px}}.admin-header{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:left;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:24px;display:flex}.admin-header-copy{min-width:0}.admin-header-kicker{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.admin-header h1{color:var(--color-text);margin:0;font-size:34px;font-weight:800;line-height:1.08}.admin-header-copy>p:last-child{color:var(--color-text-light);margin-top:8px}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-header-back{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.admin-header-back:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent)}@media (width<=720px){.admin-header{flex-direction:column;align-items:stretch;padding:20px}.admin-header h1{font-size:28px}.admin-header-actions{justify-content:stretch}.admin-header-actions button{width:100%}}.user-predictions-page{text-align:left;width:min(100%,1100px);margin:0 auto;padding:28px 24px 48px}.user-predictions-header{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:18px;margin-bottom:24px;padding:24px;display:flex}.user-predictions-header .avatar{border:3px solid var(--color-primary);border-radius:50%;flex:none}.user-predictions-header p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.user-predictions-header h1{color:var(--color-text);margin:0 0 4px;font-size:34px;font-weight:800}.user-predictions-header span{color:var(--color-text-light)}.user-predictions-notice{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-highlight) 28%, var(--color-surface));color:var(--color-text);box-shadow:var(--shadow-sm);padding:22px}.user-predictions-list{gap:16px;display:grid}.user-prediction-card{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:stretch;gap:14px;display:grid}.user-prediction-details{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center;align-content:center;place-items:center;gap:12px;padding:18px;display:grid}.user-prediction-details span{color:var(--color-text-light);text-transform:uppercase;margin-bottom:2px;font-size:12px;font-weight:700;display:block}.user-prediction-details strong{color:var(--color-text);font-size:20px}.user-prediction-points{border-radius:999px;width:fit-content;padding:6px 10px;font-weight:800}.user-prediction-points.exact{color:var(--color-success);background:var(--color-success-soft)}.user-prediction-points.partial{color:var(--color-highlight-dark);background:var(--color-highlight-light)}.user-prediction-points.zero{color:var(--color-text-light);background:var(--color-background);border:1px solid var(--color-border)}@media (width<=760px){.user-predictions-page{padding:20px 16px 40px}.user-predictions-header{align-items:flex-start;padding:18px}.user-predictions-header h1{font-size:26px}.user-prediction-card{grid-template-columns:1fr}}.groups-page{width:min(100%,1120px);margin:0 auto;padding:32px 24px 56px}.groups-header{margin-bottom:26px}.groups-header p{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.groups-header h1{color:var(--color-text);margin:0;font-size:clamp(30px,5vw,46px);font-weight:800}.groups-header span{color:var(--color-text-light);margin-top:8px;font-size:17px;display:block}.groups-grid{gap:20px;display:grid}.group-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.group-card-header{border-bottom:1px solid var(--color-border);align-items:baseline;gap:10px;padding:18px 20px;display:flex}.group-card-header span{color:var(--color-text-light);text-transform:uppercase;font-size:12px;font-weight:800}.group-card-header h2{color:var(--color-text);margin:0;font-size:28px;font-weight:800}.group-table-wrap{width:100%;overflow-x:auto}.group-table{border-collapse:collapse;width:100%;min-width:620px;box-shadow:none}.group-table th,.group-table td{text-align:center;white-space:nowrap;padding:12px 10px}.group-table th{text-transform:uppercase;font-size:12px}.group-table tbody tr{background:var(--color-surface)}.group-table tbody tr.qualified{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface))}.group-table tbody tr+tr{border-top:1px solid var(--color-border)}.team-cell{text-align:left;min-width:140px}@media (width<=680px){.groups-page{padding:24px 14px 44px}.group-card-header{padding:16px}.group-table{min-width:0}.group-table th,.group-table td{padding:10px 7px;font-size:13px}.hide-mobile{display:none}.team-cell{min-width:84px}}.legal-page{background:var(--color-background);min-height:100svh;color:var(--color-text);padding:32px 20px}.legal-shell{gap:18px;width:min(100%,820px);margin:0 auto;display:grid}.legal-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);gap:22px;padding:28px;display:grid}.legal-header{border-bottom:1px solid var(--color-border);gap:8px;padding-bottom:18px;display:grid}.legal-header a{width:fit-content;color:var(--color-primary);font-weight:800;text-decoration:none}.legal-header a:hover,.legal-header a:focus-visible{color:var(--color-accent)}.legal-header p,.legal-section p,.legal-section li{color:var(--color-text-light);line-height:1.6}.legal-header h1{color:var(--color-text);margin:0;font-size:36px;line-height:1.08}.legal-header p,.legal-section p{margin:0}.legal-section{gap:10px;display:grid}.legal-section h2{color:var(--color-text);margin:0;font-size:20px}.legal-section ul{margin:0;padding-left:20px}.legal-note{border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));padding:14px}@media (width<=640px){.legal-page{padding:18px 14px}.legal-card{padding:22px}.legal-header h1{font-size:30px}}.toast-viewport{z-index:2000;pointer-events:none;gap:10px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:18px;right:18px}.toast{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);pointer-events:auto;border-left-width:5px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.toast-content{text-align:left;gap:2px;display:grid}.toast-content strong{text-transform:uppercase;font-size:12px;line-height:1}.toast-content span{font-size:14px}.toast-success{border-left-color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface))}.toast-error{border-left-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 7%, var(--color-surface))}.toast-info{border-left-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 7%, var(--color-surface))}.toast-warning{border-left-color:var(--color-highlight-dark);background:color-mix(in srgb, var(--color-highlight) 22%, var(--color-surface))}.toast-close{width:28px;height:28px;color:var(--color-text-light);background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;font-size:20px;line-height:1;display:grid}.toast-close:hover{background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-text)}@media (width<=768px){.toast-viewport{width:auto;inset:auto 12px 92px}}.confirm-overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,440px);color:var(--color-text);box-shadow:var(--shadow-md);padding:22px}.confirm-dialog-header{grid-template-columns:44px minmax(0,1fr);align-items:flex-start;gap:14px;display:grid}.confirm-icon{background:color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));width:40px;height:40px;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:800;display:grid}.confirm-danger .confirm-icon{background:color-mix(in srgb, var(--color-danger) 18%, var(--color-surface));color:var(--color-danger)}.confirm-dialog h2{color:var(--color-text);margin:0 0 6px;font-size:22px;font-weight:800}.confirm-dialog p{color:var(--color-text-light);margin:0;line-height:1.45}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.confirm-actions button{border-radius:var(--radius-md);cursor:pointer;min-height:42px;padding:0 16px;font-weight:700}.confirm-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.confirm-submit{border:1px solid var(--color-primary-dark);background:var(--color-primary);color:var(--color-surface)}.confirm-danger .confirm-submit{border-color:color-mix(in srgb, var(--color-danger) 84%, #000);background:var(--color-danger)}.confirm-actions button:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.confirm-actions button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 42%, transparent);outline-offset:2px}@media (width<=640px){.confirm-overlay{align-items:end;padding:14px 14px 92px}.confirm-dialog{padding:18px}.confirm-dialog-header{grid-template-columns:38px minmax(0,1fr);gap:12px}.confirm-icon{width:36px;height:36px}.confirm-actions{grid-template-columns:1fr 1fr;display:grid}}.splash-screen{background:radial-gradient(circle at 50% 22%, color-mix(in srgb, var(--color-primary) 18%, transparent), transparent 34%), var(--color-background);min-height:100dvh;color:var(--color-text);place-items:center;padding:24px;display:grid}.splash-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--shadow-md);text-align:center;gap:18px;padding:28px;display:grid}.splash-brand{justify-items:center;gap:16px;display:grid}.splash-brand span{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;font-weight:800;display:block}.splash-brand h1{margin:4px 0 0;font-size:28px;line-height:1.05}.splash-app-icon{aspect-ratio:1;object-fit:cover;width:clamp(96px,24vw,128px);filter:drop-shadow(0 18px 24px color-mix(in srgb, var(--color-text) 18%, transparent));border-radius:24px;animation:2.4s ease-in-out infinite splash-icon-float}.splash-message{color:var(--color-text);margin:0;font-size:17px;font-weight:600}.splash-helper{color:var(--color-text-light);margin:0}.splash-card button{justify-self:center}@keyframes splash-icon-float{0%,to{opacity:.92;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-4px)scale(1.03)}}@media (width<=560px){.splash-screen{padding:16px}.splash-card{padding:24px 20px}.splash-brand h1{font-size:24px}}@media (prefers-reduced-motion:reduce){.splash-app-icon{animation:none}}
