body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff2dc;background:var(--bg,#fff2dc);color:#2a1f38;color:var(--text,#2a1f38);font-family:Manrope,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-page{background:linear-gradient(150deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}.auth-body{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px 28px}.auth-shell{display:flex;flex-direction:column;gap:16px;width:min(1120px,100%)}.auth-top-row{grid-gap:36px;align-items:center;display:grid;gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-brand-column{align-items:center;display:flex;justify-content:center;min-height:100%}.auth-logo-img{display:block;filter:drop-shadow(0 14px 28px rgba(27,18,76,.35));height:auto;width:min(92%,560px)}.auth-logo-img--hero{width:min(100%,620px)}.auth-tagline{color:#ffffffeb;font-size:clamp(1rem,2vw,1.2rem);font-weight:600;letter-spacing:.01em;margin:0;text-align:center;width:100%}.auth-panel-column{display:flex;justify-content:center;width:100%}.auth-card{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0000003d;margin:0 auto;max-width:430px;padding:34px 34px 28px;width:100%}.auth-card-title{color:#1a1a2e;font-size:1.35rem;font-weight:800;margin:0 0 22px;text-align:center}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#2c2c3d;font-size:14px;font-weight:600}.form-input{border:1px solid #d6d6e3;border-radius:8px;font-family:inherit;font-size:14px;padding:11px 12px;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea24;outline:none}.form-input:disabled{background-color:#f5f5f8;color:#8e8ea0;cursor:not-allowed}.error-message{background-color:#ffe9ed;border-left:4px solid #b02040;border-radius:8px;color:#b02040;font-size:14px;padding:10px 12px}.auth-button{background-color:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:8px;padding:12px;transition:background-color .2s}.auth-button:hover:not(:disabled){background-color:#5568d3}.auth-button:disabled{background-color:#bfc3d9;cursor:not-allowed}.auth-divider{align-items:center;display:flex;justify-content:center;margin-top:4px}.auth-divider span{color:#6f7893;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.google-button{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:background-color .2s}.google-button:hover:not(:disabled){background-color:#f6f8ff}.google-button:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.auth-footer{border-top:1px solid #ececf6;margin-top:20px;padding-top:14px;text-align:center}.auth-footer p{color:#5c647c;font-size:14px;margin:0}.toggle-button{background:none;border:none;color:#4b5ed1;cursor:pointer;font-size:14px;font-weight:700;margin-left:4px;padding:0}.toggle-button:hover{color:#3748b5;text-decoration:underline}.auth-faq-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-radius:12px;box-shadow:0 10px 28px #140e343d;overflow:hidden;width:100%}.auth-faq-card.is-open{background:#ffffff38}.auth-faq-toggle{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:.98rem;font-weight:800;justify-content:space-between;letter-spacing:.02em;padding:14px 16px;width:100%}.auth-faq-toggle:hover{background:#ffffff1a}.auth-faq-toggle-icon{font-size:.72rem;opacity:.9}.auth-faq-content{padding:0 16px 14px}.auth-faq-entry+.auth-faq-entry{border-top:1px solid #fff3;margin-top:12px;padding-top:12px}.auth-faq-entry h3{color:#fff;font-size:.96rem;font-weight:700;margin:0 0 6px}.auth-faq-entry p{color:#ffffffed;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:980px){.auth-logo-img--hero{width:min(100%,520px)}.auth-top-row{gap:26px}}@media (max-width:820px){.auth-body{min-height:auto;padding:30px 16px 38px}.auth-shell{align-items:center;gap:14px}.auth-top-row{gap:18px;grid-template-columns:1fr;width:100%}.auth-card{margin:0 auto;max-width:520px;padding:30px 22px 24px}.auth-brand-column{align-items:center;justify-content:center;width:100%}.auth-logo-img--hero{margin:0 auto;width:min(80%,420px)}.auth-panel-column{display:flex;justify-content:center;width:100%}}.admin-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;margin-top:24px;padding:24px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.admin-close-btn{border-radius:999px;font-size:.85rem;padding:6px 16px}.admin-stats-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.admin-stat{align-items:center;background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:100px;padding:16px 12px}.admin-stat-value{color:var(--accent-primary);font-size:1.8rem;font-weight:700;line-height:1}.admin-stat-label{color:var(--text-muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.admin-section{margin-top:28px}.admin-search-row{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}.admin-search-label{color:var(--text-muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.admin-search-input{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 0 0 1px #ffffff73;color:var(--text-primary);max-width:420px;padding:8px 10px;width:100%}.admin-search-input:focus{box-shadow:0 0 0 2px #ffffffbf;outline:none}.admin-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.admin-section-title{border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:1rem;font-weight:600;margin:0;padding-bottom:8px}.admin-section-note{color:var(--text-muted);font-size:.82rem;margin:0 0 10px}.admin-action-message{color:#2a7c3e;font-size:.85rem;margin:0 0 12px}.admin-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);border-radius:10px;overflow-x:auto;scrollbar-color:#78829673 #0000}.admin-table-wrap-scroll{max-height:378px;overflow-y:auto}.admin-table-wrap::-webkit-scrollbar{height:10px;width:10px}.admin-table-wrap::-webkit-scrollbar-track{background:#0000}.admin-table-wrap::-webkit-scrollbar-thumb{background:#78829673;border-radius:999px}.admin-table-wrap::-webkit-scrollbar-thumb:hover{background:#78829699}.admin-table-wrap-scroll .admin-table th{position:sticky;top:0;z-index:2}.admin-table{border-collapse:collapse;font-size:.88rem;min-width:540px;width:100%}.admin-table th{background:#fff;background:var(--surface,#fff);border-bottom:2px solid var(--border-color);box-shadow:inset -1px 0 0 #ffffff73,0 1px 0 var(--border-color);color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-bottom:1px solid var(--border-color);box-shadow:inset -1px 0 0 #ffffff73;color:var(--text-primary);padding:10px 14px;vertical-align:middle}.admin-table td:last-child,.admin-table th:last-child{box-shadow:none}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:#00000008;background:var(--bg-hover,#00000008)}.admin-cell-muted{color:var(--text-muted);font-size:.82rem}.admin-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;text-transform:capitalize}.admin-badge-private{background:#dc64321f;color:#c05020}.dark-theme .admin-badge-private{background:#dc643233;color:#e07050}.admin-badge-enabled,.admin-badge-public{background:#3c96501f;color:#286a36}.admin-badge-disabled{background:#dc64321f;color:#c05020}.dark-theme .admin-badge-enabled,.dark-theme .admin-badge-public{background:#3c965033;color:#5abf74}.dark-theme .admin-badge-disabled{background:#dc643233;color:#e07050}.admin-code-cell{align-items:center;display:flex;gap:8px}.admin-code{background:var(--bg-main);color:var(--text-primary);font-family:Courier New,monospace;font-size:.82rem;padding:2px 8px}.admin-code,.admin-copy-btn{border:1px solid var(--border-color);border-radius:6px}.admin-copy-btn{background:none;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:2px 10px;transition:background .15s}.admin-copy-btn:hover{background:#0000000f;background:var(--bg-hover,#0000000f)}.admin-row-actions{display:inline-flex;gap:8px}.admin-inline-btn{background:var(--bg-main);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.75rem;padding:3px 10px}.admin-inline-btn:hover:not(:disabled){background:#0000000f;background:var(--bg-hover,#0000000f)}.admin-inline-btn:disabled{cursor:not-allowed;opacity:.55}.admin-inline-btn-danger{color:#b2382b}.admin-members-panel{margin-top:14px}.admin-members-title{color:var(--text-secondary);font-size:.92rem;margin:0 0 10px}.admin-members-table{min-width:640px}@media (max-width:640px){.admin-panel{padding:16px}.admin-stats-bar{gap:10px}.admin-stat-value{font-size:1.4rem}}.loading-spinner-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0000004d;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-spinner-container,.loading-spinner-overlay{align-items:center;display:flex;justify-content:center}.loading-spinner-container{flex-direction:column;gap:1rem}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #ff4f8b33;border-radius:50%;border-top:4px solid var(--primary,#ff4f8b);height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.loading-spinner-text{color:#ff4f8b;color:var(--primary,#ff4f8b);font-family:Manrope,sans-serif;font-family:var(--font-body,"Manrope",sans-serif);font-size:.9rem;font-weight:500;margin:0}@media (max-width:768px){.loading-spinner{border-width:3px;height:40px;width:40px}.loading-spinner-text{font-size:.85rem}}.legal-overlay{align-items:flex-start;background:#0000008c;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px 16px 48px;position:fixed;z-index:1000}.legal-modal{background:#fff;background:var(--bg-card,#fff);border-radius:12px;box-shadow:0 8px 32px #0000002e;color:#111;color:var(--text-primary,#111);max-width:680px;padding:48px 40px 40px;position:relative;width:100%}.legal-close{background:none;border:none;border-radius:4px;color:#888;color:var(--text-muted,#888);cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 8px;position:absolute;right:16px;top:16px}.legal-close:focus-visible,.legal-close:hover{background:#f0f0f0;background:var(--bg-hover,#f0f0f0);color:#111;color:var(--text-primary,#111);outline:none}.legal-body h2{font-size:1.5rem;margin:0 0 4px}.legal-meta{color:#888;color:var(--text-muted,#888);font-size:.85rem;margin:0 0 24px}.legal-body h3{font-size:1rem;font-weight:700;margin:24px 0 8px}.legal-body li,.legal-body p{color:#333;color:var(--text-secondary,#333);font-size:.92rem;line-height:1.65}.legal-body ul{margin:6px 0 12px;padding-left:20px}.legal-body li{margin-bottom:4px}.legal-body a{color:#1a73e8;color:var(--primary-strong,#1a73e8);text-decoration:none}.legal-body a:hover{text-decoration:underline}@media (max-width:520px){.legal-modal{padding:40px 20px 32px}}:root{--font-heading:"Space Grotesk","Segoe UI",sans-serif;--font-body:"Manrope","Segoe UI",sans-serif;--bg:#fff2dc;--bg-accent:#ffd4f1;--bg-end:#fff8ec;--surface:#fffdf8;--surface-soft:#fff7ef;--border:#f0d5e6;--border-strong:#d5a7ca;--text:#2a1f38;--text-soft:#4e3b65;--text-muted:#7f6b93;--heading:#33184e;--title-subtle:#182a42;--table-header-bg:#e8eefb;--table-header-text:#2a1f38;--table-row-highlight-bg:#dff3f6;--table-row-highlight-text:#2a1f38;--primary:#ff4f8b;--primary-strong:#d93873;--primary-soft:#ffd8e9;--secondary:#7c3aed;--secondary-soft:#ecddff;--danger:#dc2626;--danger-soft:#fee2e2;--warn:#d97706;--warn-soft:#fef3c7;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--shadow-sm:0 6px 18px #642a551a;--shadow-md:0 14px 36px #642a552e}:root[data-theme=sunset]{--bg:#fff2dc;--bg-accent:#ffd4f1;--bg-end:#fff8ec;--surface:#fffdf8;--surface-soft:#fff7ef;--border:#f0d5e6;--border-strong:#d5a7ca;--text:#2a1f38;--text-soft:#4e3b65;--text-muted:#7f6b93;--heading:#33184e;--title-subtle:#182a42;--table-header-bg:#e8eefb;--table-header-text:#2a1f38;--table-row-highlight-bg:#dff3f6;--table-row-highlight-text:#2a1f38;--primary:#ff4f8b;--primary-strong:#d93873;--primary-soft:#ffd8e9;--secondary:#7c3aed;--secondary-soft:#ecddff;--shadow-sm:0 6px 18px #642a551a;--shadow-md:0 14px 36px #642a552e}:root[data-theme=retro]{--bg:#110d2f;--bg-accent:#2b1858;--bg-end:#0b1138;--surface:#16123a;--surface-soft:#1d1950;--border:#3541a6;--border-strong:#3cf0ff;--text:#f6efff;--text-soft:#d2c5ff;--text-muted:#a7a0cf;--heading:#ff5aa8;--title-subtle:#ffd0ef;--table-header-bg:#2b2366;--table-header-text:#f6efff;--table-row-highlight-bg:#20374f;--table-row-highlight-text:#f6efff;--primary:#ff2f92;--primary-strong:#c0186d;--primary-soft:#4b1f58;--secondary:#33e8ff;--secondary-soft:#1f3f5b;--shadow-sm:0 8px 22px #0000004d;--shadow-md:0 16px 40px #0006}:root[data-theme=neon]{--bg:#0f1015;--bg-accent:#1a1b27;--bg-end:#151723;--surface:#171a24;--surface-soft:#1f2330;--border:#2f3851;--border-strong:#4f64a5;--text:#f3f7ff;--text-soft:#c4d2ff;--text-muted:#9db1e0;--heading:#9ff76a;--title-subtle:#e6f0ff;--table-header-bg:#253147;--table-header-text:#f3f7ff;--table-row-highlight-bg:#203a2a;--table-row-highlight-text:#f3f7ff;--primary:#39ff78;--primary-strong:#18c65a;--primary-soft:#1b3d2a;--secondary:#2f6dff;--secondary-soft:#1e2f61;--shadow-sm:0 8px 22px #00000042;--shadow-md:0 16px 40px #00000059}:root[data-theme=dark]{--bg:#0c111c;--bg-accent:#151d2f;--bg-end:#0e1625;--surface:#161f31;--surface-soft:#1b263a;--border:#2d3d58;--border-strong:#405474;--text:#edf2ff;--text-soft:#c5d2e8;--text-muted:#91a3c4;--heading:#f2f6ff;--title-subtle:#e8f0ff;--table-header-bg:#233146;--table-header-text:#edf2ff;--table-row-highlight-bg:#1d2f42;--table-row-highlight-text:#edf2ff;--primary:#7aa2ff;--primary-strong:#5077d3;--primary-soft:#243457;--secondary:#45c8ff;--secondary-soft:#1f3f57;--shadow-sm:0 8px 24px #00000059;--shadow-md:0 18px 44px #00000073}.App{background:radial-gradient(circle at 7% 8%,#7c3aed2e 0 16%,#0000 35%),radial-gradient(circle at 92% 22%,#ff4f8b33 0 14%,#0000 38%),linear-gradient(180deg,#ffd4f1,#fff2dc 40%,#fff8ec);background:radial-gradient(circle at 7% 8%,#7c3aed2e 0 16%,#0000 35%),radial-gradient(circle at 92% 22%,#ff4f8b33 0 14%,#0000 38%),linear-gradient(180deg,var(--bg-accent) 0,var(--bg) 40%,var(--bg-end) 100%);color:#2a1f38;color:var(--text);font-family:Manrope,Segoe UI,sans-serif;font-family:var(--font-body);min-height:100vh}.app-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:28px;margin-bottom:var(--header-vertical-gap,28px)}.app-header-brand{align-items:center;display:inline-flex;gap:12px;min-width:0}.app-header-logo{display:block;flex-shrink:0;height:48px;width:auto}.app-header-title{color:#33184e;color:var(--heading);font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-size:clamp(1.4rem,3.2vw,2rem);font-weight:800;letter-spacing:.04em;line-height:1;margin:0;text-transform:uppercase}.app-header-logo--mobile{display:none}.app-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.admin-header-btn{border-radius:999px;font-size:.8rem;padding:5px 14px}.theme-switchboard{align-items:center;display:inline-flex;gap:8px}.theme-switchboard-label{color:#7f6b93;color:var(--text-muted);font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-size:.76rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}.theme-switchboard-options{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}.theme-switch-btn{background:#0000;border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:50%;box-shadow:inset 0 0 0 3px #ffffff14;box-sizing:border-box;cursor:pointer;height:22px;padding:0;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;width:22px}.theme-switch-btn:hover{box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.theme-switch-btn.active{box-shadow:0 0 0 2px #fffdf8,0 0 0 4px #d5a7ca,0 6px 18px #642a551a;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--border-strong),var(--shadow-sm);transform:scale(1.08)}.theme-switch-btn-retro{background:linear-gradient(145deg,#ff2f92,#33e8ff);border-color:#ffffff47}.theme-switch-btn-sunset{background:linear-gradient(145deg,#ff4f8b,#7c3aed);border-color:#702e5e47}.theme-switch-btn-neon{background:linear-gradient(145deg,#39ff78,#2f6dff);border-color:#ffffff38}.theme-switch-btn-dark{background:linear-gradient(145deg,#05070d,#1f2937);border-color:#e2e8f0b8}.app-main{--header-vertical-gap:28px;margin:0 auto;max-width:980px;padding:28px 18px 56px}.app-footer{align-items:center;color:#7f6b93;color:var(--text-muted);display:flex;font-size:.92rem;gap:8px;justify-content:center;margin:22px 0 6px}.app-footer a{color:#d93873;color:var(--primary-strong);font-weight:700;text-decoration:none}.app-footer a:focus-visible,.app-footer a:hover{text-decoration:underline}.legal-footer-sep{color:#7f6b93;color:var(--text-muted);font-size:.85rem}.legal-footer-btn{background:none;border:none;color:#d93873;color:var(--primary-strong);cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:700;padding:0;text-decoration:none}.legal-footer-btn:focus-visible,.legal-footer-btn:hover{outline:none;text-decoration:underline}h1,h2,h3,h4{font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);letter-spacing:-.01em}h1{color:#33184e;color:var(--heading);font-size:clamp(2.2rem,5vw,3rem);line-height:1;margin:0}.error-text{color:#dc2626;color:var(--danger);font-weight:700}.matchday-timing-card,.predictions-card,.profile-card{background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:18px;border-radius:var(--radius-lg);box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);margin-bottom:18px;padding:18px}.matchday-timing-card h2,.predictions-card h2,.profile-card h2{color:#182a42;color:var(--title-subtle);margin-bottom:0;margin-top:0}.card-heading-row{gap:12px;justify-content:space-between}.card-heading-row,.section-break{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:16px}.section-break{border-top:1px solid #f0d5e6;border-top:1px solid var(--border);gap:8px;margin-top:16px;padding-top:24px}.section-break h3{background:#fffdf8;background:var(--surface);color:#2a1f38;color:var(--text);display:inline-block;font-size:.95rem;font-weight:700;letter-spacing:.02em;margin:-16px 0 0;padding:0 8px}.section-break.section-break-first-visible,.section-break:first-child{border-top:none;margin-top:0;padding-top:0}.section-break .info-toggle-btn{margin-top:-12px}.predictions-section{margin-bottom:18px}.profile-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.profile-card-header h2{margin:0}.profile-card-controls{align-items:center;display:inline-flex;gap:8px}.profile-logout-btn{min-height:36px}.profile-summary{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:12px}.profile-actions-column{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.profile-edit-toggle{margin-top:6px;min-height:40px}.profile-identity p{color:#4e3b65;color:var(--text-soft);font-size:1rem;margin:0 0 8px}.profile-identity strong{color:#2a1f38;color:var(--text)}.profile-identity .profile-edit-toggle{margin-top:0;width:auto}.profile-inline-actions{flex-wrap:nowrap;margin-bottom:0}.matchday-timing-panel{background:linear-gradient(132deg,#ecddff,#fffdf8 52%,#ffd8e9);background:linear-gradient(132deg,var(--secondary-soft) 0,var(--surface) 52%,var(--primary-soft) 100%);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:14px;border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffffb3;padding:14px}.matchday-timing-title{align-items:center;color:#7c3aed;color:var(--secondary);display:flex;font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-size:1.02rem;font-weight:800;gap:8px;margin:0 0 11px}.competition-mark,.competition-tab-icon{background:#0000;border-radius:0;flex-shrink:0;height:18px;object-fit:contain;width:18px}.competition-tab-label{align-items:center;display:inline-flex}.matchday-timing-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.matchday-timing-row{background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);padding:10px 11px}.matchday-timing-heading{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.matchday-badge{align-items:center;background:linear-gradient(140deg,#7c3aed,#5b21b6);background:linear-gradient(140deg,var(--secondary) 0,#5b21b6 100%);border-radius:999px;box-shadow:0 6px 18px #7c3aed52;color:#fff;display:inline-flex;font-size:.74rem;font-weight:800;justify-content:center;padding:4px 10px}.matchday-timing-label{color:#7c3aed;color:var(--secondary);font-size:.9rem;font-weight:800}.matchday-timing-label .matchday-timing-text{color:#4e3b65;color:var(--text-soft);font-weight:400}.matchday-deadline-text{color:#dc2626;color:var(--danger,#dc2626);font-weight:600;margin-left:6px}.matchday-timing-text{color:#4e3b65;color:var(--text-soft);font-size:.94rem;margin:0 0 4px}.matchday-countdown{color:#ff4f8b;color:var(--primary);font-size:.85rem;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.player-league-tools{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:12px}.competition-tabs,.league-actions-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.competition-tabs-timing{margin-bottom:14px}.profile-actions-column .league-actions-tabs{flex-direction:row;flex-wrap:nowrap;gap:8px;justify-content:flex-end;margin-bottom:0}.profile-actions-column .league-action-tab{width:auto}.profile-edit-card{background:#fff7ef;background:var(--surface-soft);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);margin-bottom:12px;padding:14px}.profile-edit-form{grid-gap:10px;display:grid;gap:10px}.profile-field-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.profile-field-input{max-width:280px;min-width:120px;width:100%}.profile-edit-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.profile-edit-actions .league-action-tab,.profile-edit-actions .submit-btn{margin-top:0;max-width:160px;width:120px}.profile-edit-actions .submit-btn{border-radius:999px}.competition-tab,.league-action-tab,.shared-section-toggle-btn{align-items:center;background:#fff7ef;background:var(--surface-soft);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:999px;color:#2a1f38;color:var(--text);cursor:pointer;display:inline-flex;font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:800;gap:8px;justify-content:center;padding:8px 14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.competition-tab:hover,.league-action-tab:hover,.shared-section-toggle-btn:hover{box-shadow:0 8px 18px #1723361a;transform:translateY(-1px)}.competition-tab.active,.league-action-tab.active{background:linear-gradient(145deg,#ff4f8b,#d93873);background:linear-gradient(145deg,var(--primary) 0,var(--primary-strong) 100%);border-color:#ff4f8b;border-color:var(--primary);box-shadow:0 10px 24px #ff4f8b59;color:#fff}.league-list{grid-gap:14px;display:grid;gap:14px}.league-actions-card{background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);box-sizing:border-box;margin-top:12px;padding:16px;width:100%}.profile-card .league-actions-card .league-inline-controls>.gameweek-select,.profile-card .league-actions-card .league-inline-controls>.submit-btn{align-self:flex-start;height:44px;margin-top:0}.profile-card .league-actions-card .league-inline-controls>.gameweek-select{font-size:.78rem;line-height:1.3}.profile-card .league-actions-card .league-inline-controls>.submit-btn{justify-self:start;max-width:320px;width:100%}.league-action-form,.league-actions-grid{grid-gap:12px;display:grid;gap:12px}.league-actions-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.league-inline-controls{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:1fr 1fr}.gameweek-select,.league-input,.mode-select,.score-input{background:#fffdf8;background:var(--surface);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--radius-sm);box-sizing:border-box;color:#2a1f38;color:var(--text);font-family:Manrope,Segoe UI,sans-serif;font-family:var(--font-body);font-size:.98rem;padding:10px 12px;transition:box-shadow .15s ease,border-color .15s ease;width:100%}.gameweek-select:focus,.league-input:focus,.mode-select:focus,.score-input:focus{border-color:#7c3aed;border-color:var(--secondary);box-shadow:0 0 0 3px #7c3aed33;outline:none}.gameweek-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23527093' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;height:44px;line-height:22px;max-width:320px;padding-right:36px}.competition-select{font-size:.85rem;height:auto;line-height:1.6;margin-bottom:0;max-width:100%;min-width:220px;padding-bottom:8px;padding-top:6px;width:240px}.submit-btn{align-items:center;background:linear-gradient(140deg,#ff4f8b,#d93873);background:linear-gradient(140deg,var(--primary) 0,var(--primary-strong) 100%);border:0;border-radius:10px;border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:800;justify-content:center;margin-top:10px;max-width:280px;min-height:44px;padding:10px 12px;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 12px 24px #ff4f8b4d;transform:translateY(-1px)}.submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.64}.league-action-message,.los-pick-updated,.save-message{color:#ff4f8b;color:var(--primary);font-weight:800}.league-code-drawer{background:#fff7ef;background:var(--surface-soft);border:1px dashed #d5a7ca;border:1px dashed var(--border-strong);border-radius:10px;border-radius:var(--radius-sm);padding:12px}.league-code-helper{margin:0}.how-to-play-drawer{display:flex;flex-direction:column;gap:12px}.htp-mode-tabs{display:flex;flex-wrap:wrap;gap:8px}.htp-content{display:flex;flex-direction:column;gap:8px}.htp-intro{font-size:.9rem;font-weight:600;margin:0}.htp-rules{display:flex;flex-direction:column;font-size:.875rem;gap:6px;list-style:none;margin:0;padding-left:0}.htp-rules li{align-items:baseline;display:flex;gap:8px}.htp-pts{border-radius:4px;flex-shrink:0;font-size:.75rem;font-weight:700;padding:2px 6px;white-space:nowrap}.htp-pts--3{background:#16a34a;color:#fff}.htp-pts--1{background:#d97706;color:#fff}.htp-pts--0{background:#fff7ef;background:var(--surface-soft);border:1px solid #f0d5e6;border:1px solid var(--border)}.htp-note,.htp-pts--0{color:#7f6b93;color:var(--text-muted,#888)}.htp-note{font-size:.8rem;line-height:1.45;margin:0}.league-code-list{grid-gap:10px;display:grid;gap:10px}.league-code-row{align-items:center;background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);display:flex;gap:10px;justify-content:space-between;padding:10px}.league-code-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.league-code-actions{align-items:center;display:inline-flex;gap:8px}.league-code-pill{align-items:center;background:#ecddff;background:var(--secondary-soft);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:999px;color:#2a1f38;color:var(--text);display:inline-flex;font-size:.82rem;font-weight:800;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase}.league-card{background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-left-width:4px;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 6px 18px #642a551a;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease}.league-card:hover{box-shadow:0 14px 36px #642a552e;box-shadow:var(--shadow-md);transform:translateY(-2px)}.league-card-owner{border-left-color:#ff4f8b;border-left-color:var(--primary)}.league-card-guest{border-left-color:#7c3aed;border-left-color:var(--secondary)}.league-header{background:linear-gradient(180deg,#fffdf8,#fff7ef);background:linear-gradient(180deg,var(--surface) 0,var(--surface-soft) 100%);border:0;color:#2a1f38;color:var(--text);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px;text-align:left;width:100%}.league-header h3{color:#2a1f38;color:var(--text);font-size:2rem;line-height:1.1;margin:0;overflow-wrap:break-word;word-break:break-word}.league-user-standing{color:#ff4f8b;color:var(--primary);font-size:.84rem;font-weight:800;margin:0}.league-header-main{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}.league-header-bottom,.league-header-top{align-items:center;display:flex;gap:12px;justify-content:space-between}.league-header-bottom{min-height:24px}.league-subtitle-row{align-items:center;display:inline-flex;gap:8px}.league-subtitle-row--right{justify-content:flex-end;margin-left:auto}.league-subtitle-row .helper-text{margin:0}.league-header-main .game-info-card{margin:4px 0 6px}.league-inline-status{display:flex}.league-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.league-badge{background:#ecddff;background:var(--secondary-soft);border-radius:999px;color:#2a1f38;color:var(--text);font-size:.77rem;font-weight:800;padding:4px 10px;text-transform:capitalize}.league-role-owner{background:#ffd8e9;background:var(--primary-soft);color:#d93873;color:var(--primary-strong)}.league-role-guest{background:#ecddff;background:var(--secondary-soft);color:#7c3aed;color:var(--secondary)}.los-run-badge-active{background:#dcfce7;color:#166534}.los-run-badge-eliminated{background:#fee2e2;background:var(--danger-soft);color:#b91c1c}.los-run-badge-loading{background:#e2e8f0;color:#475569}.league-expand{color:#ff4f8b;color:var(--primary);font-size:.8rem;font-weight:800}.league-delete-icon{align-items:center;background:#fff7ef;background:var(--surface-soft);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:6px;color:#4e3b65;color:var(--text-soft);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;height:24px;justify-content:center;transition:background .15s ease;-webkit-user-select:none;user-select:none;width:24px}.league-delete-icon:hover{background:#ecddff;background:var(--secondary-soft)}.league-delete-icon.busy{cursor:not-allowed;opacity:.65}.league-leave-btn{align-items:center;background:#fff7ef;background:var(--surface-soft);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:6px;color:#4e3b65;color:var(--text-soft);cursor:pointer;display:inline-flex;font-size:.9rem;height:24px;justify-content:center;transition:background .15s ease;-webkit-user-select:none;user-select:none;width:24px}.league-leave-btn:hover:not(.busy){background:#fee2e2;background:var(--danger-soft)}.league-leave-btn.busy{cursor:not-allowed;opacity:.65}.league-content{border-top:1px solid #f0d5e6;border-top:1px solid var(--border);padding:12px 14px 14px}.league-content--score{border-top:none;padding-top:0}.shared-score-panel{margin-top:12px}.shared-fixtures-panel{margin-top:0}.shared-fixtures-panel p{margin:8px 0}.shared-fixtures-panel .fixtures-form>.helper-text{margin-top:4px}.shared-fixtures-panel .fixtures-top-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.shared-fixtures-panel .fixtures-select-row{align-items:center;display:inline-flex;gap:8px}.shared-fixtures-panel .fixtures-top-row .gameweek-select{margin:0}.shared-fixtures-panel .fixtures-kickoff-meta{margin:0 0 0 auto;text-align:right;width:fit-content}.shared-fixtures-panel .fixtures-matchday-points{color:#ff4f8b;color:var(--primary);font-weight:700;margin:0 auto 2px 0}.shared-fixtures-panel .fixtures-completed{font-weight:700;justify-self:end;margin:0 4px 2px 0;text-align:right}.shared-fixtures-panel .fixtures-progress-row{justify-content:flex-end}.shared-fixtures-panel .fixtures-progress-row,.shared-score-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.shared-score-header h3,.shared-section-header h4{color:#2a1f38;color:var(--text);margin:0}.info-toggle-btn{align-items:center;background:#fffdf8;background:var(--surface);border:1.5px solid #d5a7ca;border:1.5px solid var(--border-strong);border-radius:50%;color:#4e3b65;color:var(--text-soft);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.75rem;font-style:italic;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.info-toggle-btn:hover{background:#ecddff;background:var(--secondary-soft);border-color:#7c3aed;border-color:var(--secondary);color:#2a1f38;color:var(--text)}.fixture-row,.game-info-card,.los-active-users-block,.los-fixture-row{background:#fff7ef;background:var(--surface-soft);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-sm);box-shadow:inset 0 1px 0 #ffffffbf}.fixture-date-divider{align-items:center;color:#7f6b93;color:var(--text-muted);display:flex;font-size:.75rem;font-weight:800;gap:8px;letter-spacing:.07em;margin:10px 0 6px;text-transform:uppercase}.fixture-date-divider:after,.fixture-date-divider:before{background:#f0d5e6;background:var(--border);content:"";flex:1 1;height:1px}.fixture-date-divider:first-child{margin-top:2px}.fixture-row{margin-bottom:8px}.game-info-card{margin-bottom:12px;padding:10px 12px}.game-rules-list{margin:8px 0 0;padding-left:18px}.game-rules-list li{color:#4e3b65;color:var(--text-soft);font-size:.93rem;margin-bottom:4px}.shared-section-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:12px 0 8px}.shared-section-header-leaderboard{margin-top:16px}.shared-section-toggle-btn{font-size:.78rem;padding:4px 11px}.fixtures-form,.los-fixture-list,.los-panel{grid-gap:10px;display:grid;gap:10px}.los-eliminated-users{margin-top:4px}.los-eliminated-user-row{align-items:baseline;display:flex;font-size:.88rem;gap:6px;padding:2px 0}.los-eliminated-username{font-weight:600;white-space:nowrap}.los-eliminated-pick{color:#7f6b93;color:var(--text-muted,#888)}.fixture-row,.los-active-users-block,.los-fixture-row{padding:10px}.los-active-users-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.los-active-users-header .helper-text{margin:0}.los-active-users-list{color:#4e3b65;color:var(--text-soft);margin-bottom:0;margin-top:8px}.los-pick-options{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.los-pick-divider{color:#7f6b93;color:var(--text-muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.los-side-btn{align-items:center;background:#fffdf8;background:var(--surface);border:1px solid #d5a7ca;border:1px solid var(--border-strong);border-radius:10px;border-radius:var(--radius-sm);color:#2a1f38;color:var(--text);cursor:pointer;display:inline-flex;font-weight:700;gap:6px;padding:8px 10px}.los-side-btn.active{background:#ffd8e9;background:var(--primary-soft);border-color:#ff4f8b;border-color:var(--primary);color:#d93873;color:var(--primary-strong)}.los-side-btn.used{border-color:#f0d5e6;border-color:var(--border);cursor:not-allowed}.los-side-btn.used,.los-used-tag{background:#fff7ef;background:var(--surface-soft);color:#7f6b93;color:var(--text-muted)}.los-used-tag{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:800;margin-left:6px;padding:2px 7px}.los-saved-pick{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;border-radius:var(--radius-sm);color:#166534;font-size:.95rem;margin:0;padding:9px 12px;transition:background .3s ease}.los-pick-flash{animation:losPickFlash .8s ease-in-out 2}@keyframes losPickFlash{0%{background:#ecfdf5}50%{background:#86efac}to{background:#ecfdf5}}.field-label{display:block;font-size:.95rem;font-weight:700;margin-bottom:6px}.helper-text,.status-message{color:#4e3b65;color:var(--text-soft);font-size:.94rem;margin:1px 0}.lock-message{color:#d97706;color:var(--warn);font-weight:700}.deadline-message{color:#7f6b93;color:var(--text-muted);font-weight:600}.los-state-active{color:#166534;font-weight:700}.los-state-eliminated{color:#b91c1c;font-weight:700}.fixture-row{gap:12px;justify-content:space-between}.fixture-row,.fixture-title{align-items:center;display:flex}.fixture-title{flex-wrap:wrap;font-size:.95rem;gap:8px}.fixture-team{align-items:center;display:inline-flex;gap:8px}.team-crest{background:#0000;border-radius:0;flex-shrink:0;height:18px;object-fit:contain;width:18px}.vs{color:#7f6b93;color:var(--text-muted);font-weight:700}.score-inputs{border-radius:10px;border-radius:var(--radius-sm);display:flex;gap:8px;padding:4px}.score-inputs input{padding:8px;width:64px}.score-input{appearance:auto;-moz-appearance:number-input}.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:auto;margin:0;opacity:1}.warning-score{animation:warningPulse .9s ease-in-out infinite;background:#fee2e2;background:var(--danger-soft);border:2px solid #dc2626;border:2px solid var(--danger)}@keyframes warningPulse{0%{box-shadow:0 0 0 0 #dc262673}70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 0 0 #dc262600}}.prediction-block{display:flex;flex-direction:column;gap:4px}.prediction-summary{color:#7f6b93;color:var(--text-muted);display:flex;flex-direction:column;font-size:.8rem}.score-duration-chip{background:#ecddff;background:var(--secondary-soft);border-radius:4px;color:#7c3aed;color:var(--secondary);display:inline-block;font-size:.68rem;font-weight:700;margin-left:5px;padding:1px 5px;vertical-align:middle}.prediction-exact{background:#16a34a;border:1px solid #14532d}.prediction-result{background:#bbf7d0;border:1px solid #16a34a}.prediction-incorrect{background:#fecaca;border:1px solid #dc2626}.fixture-status-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;padding:2px 8px}.fixture-kickoff-time{color:#7f6b93;color:var(--text-muted);font-size:.74rem;font-weight:600}.status-scheduled{background:#e5e7eb;color:#374151}.status-live{background:#fee2e2;background:var(--danger-soft);color:#b91c1c}.status-finished{background:#dcfce7;color:#166534}.status-postponed{background:#fef3c7;background:var(--warn-soft);color:#92400e}.leaderboard-controls,.submit-row{align-items:stretch;display:flex;flex-wrap:wrap;gap:10px}.save-message{align-items:center;display:inline-flex;min-height:40px;padding:0}.submission-flash{animation:submitFlash .8s ease-in-out 2}@keyframes submitFlash{0%{background:#0000}50%{background:#86efac}to{background:#0000}}.leaderboard-card{border-top:none;margin-top:0;padding-top:0}.leaderboard-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.leaderboard-header h3{flex:1 1;margin:0}@media (max-width:480px){.leaderboard-header{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}.leaderboard-header h3{grid-column:1;margin:0}.leaderboard-controls{align-items:center;display:flex;flex-direction:row;gap:8px;grid-column:1;justify-content:space-between}.mode-select{width:140px}}.leaderboard-controls{align-items:center;display:flex;gap:8px}.mode-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23527093' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:20px;padding-right:36px;width:180px}.leaderboard-table-wrap{overflow-x:auto}.leaderboard-table{background:#fffdf8;background:var(--surface);border-collapse:collapse;border-radius:12px;font-size:.95rem;min-width:560px;overflow:hidden;width:100%}.leaderboard-table td,.leaderboard-table th{border-bottom:1px solid #f0d5e6;border-bottom:1px solid var(--border);padding:9px;text-align:center}.leaderboard-table th{background:#e8eefb;background:var(--table-header-bg);color:#2a1f38;color:var(--table-header-text)}.leaderboard-table td:nth-child(2),.leaderboard-table th:nth-child(2){text-align:left}.leaderboard-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:12px;padding:8px}.leaderboard-pagination button{align-items:center;background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:4px;color:#2a1f38;color:var(--text);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;min-width:32px;padding:4px 8px;transition:background-color .2s}.leaderboard-pagination button:hover:not(:disabled){background:var(--surface-hover)}.leaderboard-pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--text-secondary);font-size:.85rem;text-align:center}.user-on-page{color:var(--accent);display:inline;font-size:.85rem;margin-left:4px}.leaderboard-row-current{background:#dff3f6;background:var(--table-row-highlight-bg);color:#2a1f38;color:var(--table-row-highlight-text)}.leaderboard-row-gap td{color:#7f6b93;color:var(--text-muted);font-weight:800;text-align:center}.season-winner-banner{align-items:center;background:linear-gradient(135deg,#3a2a00,#2a1a00);border:1px solid #c8960a;border-radius:10px;display:flex;gap:14px;margin-bottom:16px;padding:16px 20px}.season-winner-trophy{flex-shrink:0;font-size:2.4rem;line-height:1}.season-winner-heading{color:#f5c842;font-size:1.05rem;font-weight:800;margin:0 0 4px}.season-winner-sub{color:#c8a830;font-size:.88rem;margin:0}.season-complete-banner{align-items:center;background:#1e1e2e;background:var(--card-bg,#1e1e2e);border:1px solid #f0d5e6;border:1px solid var(--border,#2e2e4a);border-radius:10px;color:#7f6b93;color:var(--text-muted,#88a);display:flex;font-size:.9rem;font-weight:600;gap:10px;margin-bottom:16px;padding:12px 16px}.season-complete-icon{font-size:1.2rem}.between-seasons-text{align-items:center;color:#7f6b93;color:var(--text-muted,#88a);display:flex;font-style:italic;justify-content:center;margin:0;text-align:center}.season-complete-banner--sm{font-size:.82rem;margin-bottom:0;margin-top:14px;padding:8px 12px}@media (max-width:720px){.app-header-row{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:10px;justify-content:space-between}.app-header-brand{gap:8px}.theme-switchboard,.theme-switchboard-options{justify-content:flex-end;justify-items:end}.theme-switchboard{margin-left:auto}.theme-switchboard-label{display:none}.theme-switchboard-options{flex-wrap:nowrap}.app-header-logo--desktop{display:none}.app-header-logo--mobile{display:block;height:36px}.app-header-title{display:none}.league-actions-card,.predictions-card,.profile-card{padding:14px}.profile-summary{grid-template-columns:1fr}.profile-card-header{align-items:flex-start}.profile-card-controls{flex-wrap:wrap;justify-content:flex-end}.profile-inline-actions{justify-content:flex-start}.profile-edit-actions{align-items:stretch;flex-direction:column}.profile-edit-actions .league-action-tab,.profile-edit-actions .submit-btn{max-width:none;width:100%}.league-inline-controls,.matchday-timing-grid{grid-template-columns:1fr}.app-main{--header-vertical-gap:20px;padding:20px 14px 42px}.league-header{padding:12px}.league-header h3{font-size:1.65rem}.league-badge{font-size:.72rem;padding:3px 8px}.competition-tab,.league-action-tab{min-height:40px;padding:8px 12px}.gameweek-select,.league-input,.mode-select,.submit-btn{min-height:44px}.gameweek-select,.mode-select,.profile-card .league-actions-card .league-inline-controls>.submit-btn,.submit-btn{max-width:none}}@media (max-width:700px){.fixture-row,.league-header{align-items:flex-start;flex-direction:column}.league-header-bottom,.league-header-main,.league-header-top,.league-meta{width:100%}.league-header-bottom,.league-header-top{align-items:flex-start;flex-direction:column}.league-meta{gap:6px}.league-subtitle-row--right{justify-content:flex-start;margin-left:0}.league-meta .league-delete-icon{margin-left:auto}.league-code-row{align-items:flex-start;flex-direction:column}.league-code-actions{justify-content:space-between;width:100%}.fixtures-form .fixture-title{width:100%}.fixtures-form .prediction-block{align-items:flex-start;flex-direction:row;gap:10px;justify-content:space-between;min-width:0;width:100%}.fixtures-form .prediction-summary{line-height:1.25;min-width:0}.shared-fixtures-panel .fixtures-top-row{align-items:flex-start;flex-direction:column}.shared-fixtures-panel .fixtures-select-row{width:100%}.shared-fixtures-panel .fixtures-select-row .gameweek-select{flex:1 1}.shared-fixtures-panel .fixtures-kickoff-meta{margin:0;text-align:left;width:auto}}@media (max-width:640px){.shared-section-header{align-items:flex-start}.shared-section-toggle-btn{align-self:flex-start}.los-pick-options{display:grid;grid-template-columns:1fr;width:100%}.los-pick-divider{display:none}.los-side-btn{justify-content:flex-start;width:100%}.los-pick-options .fixture-status-chip{align-self:flex-start;justify-self:start;width:auto}.score-inputs input{padding:7px;width:56px}.fixture-title{font-size:.9rem}}@media (max-width:480px){.app-main{--header-vertical-gap:16px;padding:16px 10px 34px}.app-header-logo--mobile{height:clamp(28px,8vw,36px)}.profile-identity p{font-size:.95rem}.league-header h3{font-size:1.4rem}.theme-switch-btn{height:20px;width:20px}.fixtures-form .prediction-block{gap:8px}.fixtures-form .score-inputs{gap:6px}.fixtures-form .score-inputs input{padding:6px;width:50px}.fixtures-form .prediction-summary{font-size:.76rem}.leaderboard-table{font-size:.86rem;min-width:440px}.leaderboard-table td,.leaderboard-table th{padding:6px}.leaderboard-header{align-items:stretch;flex-direction:column}.leaderboard-header h3{min-width:0}.mode-select{max-width:none}.competition-select{min-width:0;width:100%}}.copy-toast{animation:slideDown .3s ease-out,slideUp .3s ease-in 1.7s forwards;background:#ff4f8b;background:var(--primary);border-radius:14px;border-radius:var(--radius-md);box-shadow:0 14px 36px #642a552e;box-shadow:var(--shadow-md);color:#fff;font-size:.95rem;font-weight:600;left:50%;padding:12px 20px;position:fixed;top:20px;transform:translateX(-50%);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(-30px)}}.back-to-top{align-items:center;background:#ff4f8b;background:var(--primary);border:none;border-radius:50%;bottom:28px;box-shadow:0 14px 36px #642a552e;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:44px;justify-content:center;line-height:1;opacity:.9;position:fixed;right:28px;transition:opacity .2s,transform .2s;width:44px;z-index:900}.back-to-top:hover{opacity:1;transform:translateY(-2px)}@media (max-width:480px){.back-to-top{bottom:16px;font-size:1.3rem;height:40px;right:16px;width:40px}}.modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal-box{background:#fffdf8;background:var(--surface);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:12px;max-width:420px;padding:28px 24px 20px;width:100%}.modal-title{color:#33184e;color:var(--heading);font-family:Space Grotesk,Segoe UI,sans-serif;font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin:0}.modal-subtitle{font-size:.85rem;line-height:1.5;margin:0}.modal-loading,.modal-subtitle{color:#7f6b93;color:var(--text-muted)}.modal-loading{font-size:.9rem;padding:16px 0;text-align:center}.competition-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.competition-card{align-items:center;background:#fff7ef;background:var(--surface-soft);border:1px solid #f0d5e6;border:1px solid var(--border);border-radius:10px;display:flex;gap:12px;padding:10px 14px;transition:border-color .15s}.competition-card--joined{background:#ffd4f1;background:var(--bg-accent);border-color:#ffd8e9;border-color:var(--primary-soft)}.competition-emblem-bg{align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.competition-emblem{height:24px;object-fit:contain;width:24px}.competition-emblem-code{color:#7c3aed;color:var(--secondary);font-size:.65rem;font-weight:800;letter-spacing:.02em}.competition-name{color:#2a1f38;color:var(--text);flex:1 1;font-size:.92rem;font-weight:600}.competition-toggle{border:none;border-radius:20px;cursor:pointer;font-size:.8rem;font-weight:700;padding:5px 14px;transition:opacity .15s}.competition-toggle:disabled{cursor:default;opacity:.5}.competition-toggle--join{background:#ff4f8b;background:var(--primary);color:#fff}.competition-toggle--join:hover:not(:disabled){background:#d93873;background:var(--primary-strong)}.competition-toggle--leave{background:#fffdf8;background:var(--surface);border:1px solid #d5a7ca;border:1px solid var(--border-strong);color:#7f6b93;color:var(--text-muted)}.competition-toggle--leave:hover:not(:disabled){background:#fee2e2;background:var(--danger-soft);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.modal-footer{align-items:flex-end;display:flex;flex-direction:column;gap:8px;margin-top:4px}.modal-warning{align-self:flex-start;color:#dc2626;color:var(--danger);font-size:.8rem;margin:0}.modal-close-btn{font-size:.9rem;margin-top:0;min-width:120px;padding:9px 24px;width:auto}.modal-join-code-section{border-top:1px solid #f0d5e6;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px;margin-top:16px;padding-top:16px}.modal-join-code-form{align-items:center;display:flex;gap:8px}.modal-join-code-form .league-input{flex:1 1;text-transform:uppercase}.success-text{color:#16a34a;color:var(--success,#16a34a);font-size:.85rem;margin:0}
/*# sourceMappingURL=main.1b3451ac.css.map*/