:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-a:#1c1230;--bg-b:#3a1a3d;--bg-elevated:#ffffff0f;--card:#ffffff0f;--card-border:#ffffff1a;--card-border-hover:#ffffff2e;--text:#fbeee8;--text-dim:#cbb3c9;--text-faint:#8d7590;--accent:#ff8a5c;--accent2:#c15cff;--accent-strong:#ff6f3c;--accent-dim:#ff8a5c29;--accent-contrast:#2a1030;--accent-gradient:linear-gradient(135deg, var(--accent), var(--accent2));--win:#58d68d;--loss:#ff7a85;--draw:#ffcf6b;--gold:#ffd76a;--silver:#cbb3c9;--bronze:#e0a06a;--topbar-bg:#1c1230bf;--tabbar-bg:#2a2040;--input-bg:#00000038;--overlay-1:#ffffff0a;--overlay-2:#ffffff12;--overlay-3:#ffffff1a;--overlay-4:#ffffff29;--alert-error-bg:#ff7a8524;--alert-error-border:#ff7a8557;--alert-error-text:#ffb0b6;--alert-success-bg:var(--accent-dim);--alert-success-border:#ff8a5c52;--alert-success-text:var(--accent);--select-arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23cbb3c9' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");--radius:20px;--radius-sm:12px;--shadow:0 10px 30px #0006;--font-heading:"Baloo 2", "Segoe UI", sans-serif;--font-body:"Nunito", "Segoe UI", sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-a:#fff7ec;--bg-b:#ffe3d1;--bg-elevated:#fff;--card:#fff;--card-border:#3c1e0a1a;--card-border-hover:#3c1e0a33;--text:#3a2418;--text-dim:#8a6a54;--text-faint:#b79a86;--accent:#ff7a45;--accent2:#ff5da2;--accent-strong:#f4632b;--accent-dim:#ff7a4524;--accent-contrast:#fff7ec;--accent-gradient:linear-gradient(135deg, var(--accent), var(--accent2));--win:#1f9d63;--loss:#c2453a;--draw:#b9791a;--gold:#b9791a;--silver:#8a6a54;--bronze:#9c5a2e;--topbar-bg:#fff7ecd1;--tabbar-bg:#fff;--input-bg:#3c1e0a0a;--overlay-1:#3c1e0a09;--overlay-2:#3c1e0a0f;--overlay-3:#3c1e0a17;--overlay-4:#3c1e0a29;--alert-error-bg:#c2453a1a;--alert-error-border:#c2453a4d;--alert-error-text:#a3382d;--alert-success-bg:var(--accent-dim);--alert-success-border:#ff7a454d;--alert-success-text:var(--accent-strong);--select-arrow:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%238a6a54' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");--shadow:0 10px 26px #c8783c29}*{box-sizing:border-box}html,body,#root{height:100%}body{background:linear-gradient(160deg, var(--bg-a) 0%, var(--bg-b) 100%) fixed;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .2s,color .2s}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:.01em;text-wrap:balance;margin:0;font-weight:700}a{color:inherit}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px}::selection{background:var(--accent-dim)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:calc(16px + env(safe-area-inset-top)) 28px 16px;border-bottom:1px solid var(--card-border);background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand-mark{flex:none;width:34px;height:34px;position:relative}.brand-mark img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 2px 6px var(--accent-dim));position:absolute;inset:0}.brand-mark .mark-light{opacity:1}.brand-mark .mark-dark{opacity:0}:root[data-theme=light] .brand-mark .mark-light{opacity:1}:root[data-theme=light] .brand-mark .mark-dark,:root:not([data-theme=light]) .brand-mark .mark-light{opacity:0}:root:not([data-theme=light]) .brand-mark .mark-dark{opacity:1}.brand-text h1{font-size:18px;line-height:1.1}.brand-text span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;font-size:11px}.app-version{color:var(--text-faint);text-transform:none;letter-spacing:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;display:block}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.nav a:hover{color:var(--text);background:var(--overlay-2)}.nav a.active{color:var(--accent-contrast);background:var(--accent)}.topbar-right{align-items:center;gap:10px;display:flex}.user-chip{color:var(--text-dim);align-items:center;gap:8px;font-size:13px;display:flex}.user-chip .badge{font-size:10px}.theme-toggle{border:1px solid var(--card-border);background:var(--overlay-1);width:34px;height:34px;color:var(--text-dim);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.theme-toggle:hover{color:var(--text);border-color:var(--card-border-hover);background:var(--overlay-3)}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 24px 64px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px;display:flex}.page-header h2{font-size:24px}.page-header p{color:var(--text-dim);margin:4px 0 0;font-size:13px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;margin-bottom:18px;padding:20px;display:flex}.card:last-child{margin-bottom:0}.card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:14px;font-size:13px}.card-footer{margin-top:auto;padding-top:14px}.grid{align-items:stretch;gap:16px;margin-bottom:18px;display:grid}.grid>.card{margin-bottom:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.btn{border:1px solid var(--card-border);background:var(--overlay-1);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--card-border-hover);background:var(--overlay-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-danger{color:var(--loss);border-color:#e25c5c66}.btn-danger:hover{background:#e25c5c1a}.btn-sm{min-height:32px;padding:6px 11px;font-size:12px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.field-hint{color:var(--text-faint);margin:0;font-size:12px}.field input,.field textarea{background:var(--input-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);outline:none;padding:10px 12px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field select,.select{appearance:none;background-color:var(--input-bg);background-image:var(--select-arrow);border:1px solid var(--card-border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);cursor:pointer;background-position:right 12px center;background-repeat:no-repeat;background-size:10px 6px;outline:none;padding:10px 32px 10px 12px;font-size:13px;transition:border-color .15s,background-color .15s}.field select:focus,.select:focus{border-color:var(--accent)}.select:hover{border-color:var(--card-border-hover)}.select:disabled{opacity:.5;cursor:not-allowed}.select-sm{background-position:right 10px center;min-height:32px;padding:6px 28px 6px 10px;font-size:12px}td .select{width:100%;min-width:200px}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row .field{flex:1;min-width:160px}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--overlay-2);color:var(--text-dim);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-player,.badge-open{background:var(--accent-dim);color:var(--accent)}.badge-completed{background:var(--overlay-3);color:var(--text-dim)}.badge-cancelled{color:var(--loss);background:#e25c5c24}.badge-confirmed{background:var(--accent-dim);color:var(--accent)}.badge-waitlisted{color:var(--draw);background:#e8b23d24}.badge-guest{background:var(--overlay-3);color:var(--text-dim)}.badge-admin{color:var(--gold);background:#ffd76a2e}.status-pill{border-radius:var(--radius-sm);min-height:40px;color:var(--win);background:#58d68d24;border:1px solid #58d68d59;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:700;display:inline-flex}.status-pill-waitlisted{color:var(--draw);background:#e8b23d24;border-color:#e8b23d59}.status-pill-unavailable{color:var(--loss);background:#e25c5c1a;border-color:#e25c5c59}.badge-tier-gold{color:var(--gold);background:#ffd76a2e}.badge-tier-silver{color:var(--silver);background:#cbb3c92e}.badge-tier-bronze{color:var(--bronze);background:#e0a06a2e}.badge-tier-wood{background:var(--overlay-2);color:var(--text-faint)}.achievement-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.achievement-tile{background:var(--overlay-1);border:1px solid var(--card-border);border-radius:var(--radius-sm);text-align:center;padding:14px;transition:transform .15s,border-color .15s}.achievement-tile:hover{border-color:var(--card-border-hover);transform:translateY(-2px)}.achievement-tile.achievement-tier-wood{opacity:.7}.achievement-tile.achievement-tier-gold{border-color:#ffd76a80}.achievement-tile.achievement-tier-silver{border-color:#cbb3c980}.achievement-tile.achievement-tier-bronze{border-color:#e0a06a80}.achievement-icon{margin-bottom:8px;font-size:34px;line-height:1;position:relative}.achievement-medal{font-size:16px;position:absolute;bottom:-6px;right:calc(50% - 26px)}.achievement-tile.form-tier-veteran{border-color:#ff8a5c80}.achievement-tile.form-tier-veteran .label{color:var(--accent)}.achievement-tile.form-tier-undefeated{border-color:#58d68d80}.achievement-tile.form-tier-undefeated .label{color:var(--win)}.achievement-tile.form-tier-unlucky{border-color:#ff7a8580}.achievement-tile.form-tier-unlucky .label{color:var(--loss)}.achievement-tile.form-tier-ghost{border-color:var(--text-faint);opacity:.75}.achievement-tile.form-tier-ghost .label{color:var(--text-faint)}.achievement-tile.form-tier-onfire{border-color:#ff6f3d8c}.achievement-tile.form-tier-onfire .label{color:var(--accent)}.achievement-tile.form-tier-newcomer{border-color:#c15cff80}.achievement-tile.form-tier-newcomer .label{color:var(--accent2)}.teammate-avatar,.teammate-avatar-placeholder{border-radius:50%;width:40px;height:40px;margin:0 auto}.teammate-avatar{object-fit:cover;background:var(--overlay-2);border:1px solid var(--card-border)}.teammate-avatar-placeholder{background:var(--overlay-2);border:1px solid var(--card-border);font-family:var(--font-heading);color:var(--text-dim);justify-content:center;align-items:center;font-size:16px;display:flex}.achievement-tile .value a{color:var(--text);font-weight:700}.hof-table-wrap table{font-size:13.5px}.hof-cat-cell{white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:flex}.medal-chip{background:var(--overlay-2);border:1px solid var(--card-border);color:inherit;border-radius:999px;align-items:center;gap:7px;padding:6px 14px 6px 8px;font-size:13px;text-decoration:none;transition:transform .15s,border-color .15s;display:inline-flex}.medal-chip:hover{border-color:var(--card-border-hover);transform:translateY(-1px)}.medal-chip .m{font-size:15px}.medal-chip .n{color:var(--text)}.medal-chip .n-group{align-items:center;gap:3px;display:inline-flex}.medal-chip .n-group .mini-badge{margin-left:0}.medal-chip .v{color:var(--text-dim);font-weight:700;font-family:var(--font-heading);font-size:12px}.medal-chip-empty{color:var(--text-faint);padding:6px 10px;font-size:13px}.hof-list-wrap,.users-list-wrap,.invites-list-wrap{display:none}.user-card{padding:14px 16px}.user-card-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.user-card-name{margin-bottom:4px;font-weight:700}.user-card-actions{flex:none;align-items:center;gap:10px;display:flex}.admin-toggle{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--overlay-1);width:32px;height:32px;color:var(--text);cursor:pointer;flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.icon-btn:hover{border-color:var(--card-border-hover);background:var(--overlay-3)}.icon-btn-danger{color:var(--loss);border-color:#e25c5c66}.icon-btn-danger:hover{background:#e25c5c1a}.icon-btn svg{width:16px;height:16px}.user-card-details{border-top:1px solid var(--card-border);flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px;padding-top:12px;display:flex}.user-card-email{color:var(--text-dim);word-break:break-all;font-size:13px}.hof-list-card{gap:8px}.hof-list-card .hof-cat-cell{margin-bottom:4px}.hof-list-card .medal-chip .v{margin-left:auto}.achievement-tile .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px}.achievement-tile .value{color:var(--text-faint);margin-top:6px;font-size:12px}.player-avatar{object-fit:cover;background:var(--overlay-2);border:1px solid var(--card-border);border-radius:50%;flex:none;width:72px;height:72px}.player-avatar-placeholder{background:var(--overlay-2);border:1px solid var(--card-border);width:72px;height:72px;font-family:var(--font-heading);color:var(--text-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;display:flex}.profile-header{align-items:center;gap:16px;display:flex}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--card-border);padding:8px 10px;font-size:11px}td{border-bottom:1px solid var(--overlay-1);vertical-align:middle;padding:10px}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.label-short{display:none}tr.me{background:var(--accent-dim)}tr.me td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.momentum{vertical-align:middle;white-space:nowrap;margin-left:4px;font-size:10.5px;font-weight:700;display:inline-block}.momentum-up{color:var(--win)}.momentum-down{color:var(--loss)}.mini-badge{vertical-align:middle;margin-left:5px;font-size:13px}.player-cell{align-items:center;display:inline-flex}.player-cell .badge-guest{margin-left:5px}.rank-1{color:var(--gold)}.rank-2{color:var(--silver)}.rank-3{color:var(--bronze)}.empty-state{text-align:center;color:var(--text-dim);padding:40px 20px;font-size:14px}.alert{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 14px;font-size:13px}.alert-error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.alert-success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.pwa-toast-stack{z-index:40;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.pwa-toast{background:var(--tabbar-bg);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;display:flex}.pwa-toast-actions{flex:none;align-items:center;gap:8px;display:flex}.pwa-toast-error{background:var(--alert-error-bg);border-color:var(--alert-error-border);color:var(--alert-error-text);justify-content:center;font-weight:600}.auth-shell{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{width:100%;max-width:380px;margin-bottom:0}.auth-card h1{margin-bottom:4px;font-size:22px}.auth-card p.sub{color:var(--text-dim);margin:0 0 22px;font-size:13px}.auth-switch{text-align:center;color:var(--text-dim);margin-top:16px;font-size:13px}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.team-columns{grid-template-columns:1fr 44px 1fr;align-items:start;gap:10px;display:grid}.team-columns .vs{color:var(--text-faint);font-family:var(--font-heading);justify-content:center;align-items:center;padding-top:30px;font-weight:700;display:flex}.team-col h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:10px;font-size:13px}.score-box{font-family:var(--font-heading);justify-content:center;align-items:center;gap:14px;margin:6px 0 4px;font-size:40px;font-weight:700;display:flex}.score-box .dash{color:var(--text-faint);font-size:24px}.score-entry{justify-content:center;align-items:flex-end;gap:16px;margin:6px 0 4px;display:flex}.score-entry .field{align-items:center;margin-bottom:0}.score-entry .dash{color:var(--text-faint);font-family:var(--font-heading);padding-bottom:10px;font-size:28px;font-weight:700}.score-input{text-align:center;width:72px;min-height:56px;font-family:var(--font-heading);-moz-appearance:textfield;font-size:32px;font-weight:700}.score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.loading{justify-content:center;padding:40px;display:flex}.loading-mark{width:40px;height:40px;animation:1.4s linear infinite app-loading-spin}.loading-mark .brand-mark,.loading-mark .brand-mark img{width:100%;height:100%}.app-loading{background:linear-gradient(160deg, var(--bg-a) 0%, var(--bg-b) 100%);z-index:50;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.app-loading-mark{width:72px;height:72px;animation:1.4s linear infinite app-loading-spin}.app-loading-mark .brand-mark,.app-loading-mark .brand-mark img{width:100%;height:100%}.app-loading span{font-family:var(--font-heading);color:var(--text);font-size:20px;font-weight:800}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.divider{background:var(--card-border);height:1px;margin:18px 0}.played-icon{vertical-align:-2px;width:14px;height:14px;color:var(--accent);margin-right:6px;display:inline-block}.played-icon svg{width:100%;height:100%}.pull-refresh{top:env(safe-area-inset-top,0px);z-index:25;pointer-events:none;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s;display:flex;position:fixed;left:50%}.pull-refresh-mark{width:32px;height:32px}.pull-refresh-mark .brand-mark,.pull-refresh-mark .brand-mark img{width:100%;height:100%}.pull-refresh-mark-spinning{animation:1.4s linear infinite app-loading-spin}.subtle-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.subtle-list li{border-radius:var(--radius-sm);background:var(--overlay-1);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.season-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.season-tabs button{background:var(--overlay-1);border:1px solid var(--card-border);color:var(--text-dim);cursor:pointer;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600}.season-tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.auth-brand{flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand .brand-mark{width:56px;height:56px}.auth-brand span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700}.tabbar{display:none}.tabbar a{min-width:0;color:var(--text-dim);text-transform:uppercase;letter-spacing:.01em;text-align:center;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 2px 6px;font-size:10px;font-weight:800;text-decoration:none;display:flex}.tabbar a svg{width:20px;height:20px}.tabbar a .tab-icon{border-radius:12px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.tabbar a.active{color:var(--accent2)}.tabbar a.active .tab-icon{background:var(--accent-gradient);color:#fff7ec}@media (width<=760px){body{overscroll-behavior-y:none}.topbar{padding:calc(14px + env(safe-area-inset-top)) 16px 14px;flex:none}.pwa-toast-stack{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}.brand-text span:not(.app-version),.topbar .nav,.label-full{display:none}.label-short{display:inline}.user-chip span:first-child{display:none}.main{padding:18px 14px}.page-header h2{font-size:20px}.tabbar{z-index:30;background:var(--tabbar-bg);border-top:1px solid var(--card-border);padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));display:flex;position:sticky;bottom:0}.team-columns{grid-template-columns:1fr 34px 1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.hof-table-wrap{display:none}.hof-list-wrap{display:block}.users-table-wrap{display:none}.users-list-wrap{margin-bottom:18px;display:block}.invites-table-wrap{display:none}.invites-list-wrap{margin-bottom:18px;display:block}.score-box{font-size:32px}input,select,textarea,.field select,.select,.select-sm{font-size:16px}}
