@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--background:#0f172a;--foreground:#f8fafc;--primary:#3b82f6;--primary-hover:#2563eb;--card-bg:#1e293bb3;--card-border:#ffffff1a;--gold:#fbbf24;--silver:#94a3b8;--bronze:#b45309;--danger:#ef4444;--radius:16px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--app-header-height:60px;--glass-bg:#14192a8c;--glass-blur:blur(28px) saturate(1.8);--glass-border:#ffffff1f;--glass-highlight:#ffffff0f;--glass-shadow:0 12px 36px #00000052}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;min-height:100vh;padding-bottom:calc(env(safe-area-inset-bottom,0) + 90px);background-image:radial-gradient(at 0 0,#100f15 0,#0000 50%),radial-gradient(at 50% 0,#2f3e6a33 0,#0000 50%),radial-gradient(at 100% 0,#72274133 0,#0000 50%);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:2rem}@media (max-width:768px){.container{padding:1rem}}.title{text-align:center;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:2rem;font-size:3rem;font-weight:800}@media (max-width:768px){.title{margin-bottom:1.25rem;font-size:2rem}}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:var(--radius);transition:var(--transition);padding:1.5rem}@media (max-width:768px){.card{border-radius:12px;padding:1rem}}.card:hover{border-color:#fff3;transform:translateY(-4px);box-shadow:0 10px 25px -5px #00000080}@media (hover:none){.card:hover{box-shadow:none;border-color:var(--card-border);transform:none}}.card-title{margin-bottom:1rem;font-size:1.5rem}@media (max-width:768px){.card-title{font-size:1.2rem}}.btn{transition:var(--transition);background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 4px 6px -1px #3b82f666}.btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 8px -1px #3b82f699}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{min-height:36px;padding:.45rem .95rem;font-size:.85rem}.btn-ghost{border:1px solid var(--card-border);color:var(--foreground);box-shadow:none;background:0 0}.btn-ghost:hover{box-shadow:none;background:#ffffff0d;border-color:#ffffff40;transform:translateY(-1px)}.medal-gold{color:var(--gold)}.medal-silver{color:var(--silver)}.medal-bronze{color:var(--bronze)}.medal-none{color:#ffffff4d}.muted{color:#ffffffb3}.muted-small{color:#ffffff80;font-size:.85rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.4s ease-out fadeIn}.input{border:1px solid var(--card-border);width:100%;color:var(--foreground);transition:var(--transition);background:#0003;border-radius:8px;min-height:44px;padding:.75rem 1rem;font-family:inherit;font-size:16px}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.input-sm{min-height:36px;padding:.5rem .75rem;font-size:14px}.app-header{z-index:50;min-height:var(--app-header-height);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}@media (max-width:480px){.app-header{padding:.6rem .85rem}}.app-header-brand{background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.app-header-right{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-header-link{opacity:.75;transition:var(--transition);justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.4rem;font-size:1.2rem;display:inline-flex}.app-header-link:hover{opacity:1}.auth-pill{border:1px solid var(--card-border);white-space:nowrap;background:#0000004d;border-radius:999px;padding:.3rem .7rem;font-size:.8rem}.auth-pill-on{color:#10b981;border-color:#10b98180}@media (max-width:480px){.auth-pill{display:none}}.header-login-form{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.header-login-error{color:var(--danger);flex-basis:100%;font-size:.8rem}.dashboard-tabs-sticky{bottom:calc(env(safe-area-inset-bottom,0) + 1rem);z-index:100;pointer-events:none;justify-content:center;display:flex;position:fixed;left:50%;transform:translate(-50%)}.dashboard-tabs-sticky>*{pointer-events:auto}@media (max-width:768px){.dashboard-tabs-sticky{bottom:calc(env(safe-area-inset-bottom,0) + 10px);left:10px;right:10px;transform:none}}.slide-tabs{border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight);scrollbar-width:none;-ms-overflow-style:none;background:#00000040;border-radius:999px;gap:2px;max-width:100%;padding:5px;display:inline-flex;position:relative;overflow-x:auto}.slide-tabs::-webkit-scrollbar{display:none}.slide-tabs-highlight{pointer-events:none;z-index:1;background:#3b82f638;border:1px solid #3b82f680;border-radius:999px;transition:left .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1),opacity .3s;position:absolute;top:5px;bottom:5px;box-shadow:0 4px 12px #3b82f640,inset 0 1px #ffffff1a}.slide-tab{z-index:2;color:#ffffffa6;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:.4rem;min-height:40px;padding:.55rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:color .25s;display:inline-flex;position:relative}.slide-tab:hover{color:var(--foreground)}.slide-tab.active{color:#93c5fd}.slide-tab-icon{font-size:1rem;line-height:1}.slide-tab-short{display:none}@media (max-width:768px){.slide-tabs{background:var(--glass-bg);width:100%;-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px 0 var(--glass-highlight), var(--glass-shadow);padding:6px;display:flex}.slide-tab{flex-direction:column;flex:1;gap:2px;min-height:50px;padding:.5rem .3rem;font-size:11px}.slide-tab-icon{font-size:1.05rem}.slide-tab-label{display:none}.slide-tab-short{display:inline}}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dashboard-title{text-align:left;margin-bottom:0;font-size:2.5rem}@media (max-width:768px){.dashboard-title{font-size:1.8rem}}.dashboard-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.dashboard-content{gap:1.5rem;min-width:0;display:grid}.dashboard-content>*{min-width:0}.charts-stack{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.charts-stack>*,.chart-card{min-width:0}.chart-title{margin-bottom:1rem}.chart-box{width:100%;min-width:0}.add-player-form-inline{flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;display:flex}.add-player-form-inline .input{flex:240px;min-width:0}.player-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem;display:grid}.player-card{border:1px solid var(--card-border);background:#ffffff0a;border-radius:10px;align-items:center;gap:.4rem;min-height:48px;padding:.7rem .85rem;display:flex}.player-card-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.player-card-actions{gap:.25rem;display:flex}.season-selector{align-items:center;gap:.5rem;display:flex}.season-selector-label{color:#ffffffb3;font-size:.85rem}.season-selector-select{width:auto;min-height:40px;padding:.5rem .75rem}.table-wrap{width:100%}.leaderboard{border-collapse:collapse;text-align:left;width:100%}.leaderboard thead tr{border-bottom:1px solid var(--card-border)}.leaderboard th,.leaderboard td{padding:.85rem .5rem}.leaderboard tbody tr{background:#ffffff05;border-bottom:1px solid #ffffff0d}.leaderboard td.pos{font-weight:700}.leaderboard td.score{color:var(--primary);font-weight:700}.leaderboard td.muted{color:#ffffffb3}.podium-cell{align-items:center;gap:.5rem;display:flex}.podium-bar{background:#ffffff1a;border-radius:3px;width:50px;height:6px;overflow:hidden}.podium-bar-fill{height:100%;transition:width .4s}.podium-pct{font-size:.85rem}.trend{vertical-align:middle;margin-left:.4rem;font-size:1rem;font-weight:700;display:inline-block}.trend-up{color:#10b981}.trend-down{color:var(--danger)}.trend-stable{color:#fff6}.player-name-text{display:inline-block}.leaderboard .mobile-card{display:none}@media (max-width:768px){.leaderboard,.leaderboard tbody{width:100%;display:block}.leaderboard thead{display:none}.leaderboard tbody tr{border:1px solid var(--card-border);background:#ffffff0a;border-radius:12px;margin-bottom:.6rem;padding:0;display:block;overflow:hidden}.leaderboard .dt-cell{display:none}.leaderboard .mobile-card{border:none;padding:0;display:block}.mc-header{grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.8rem 1rem;display:grid}.mc-pos{color:var(--primary);white-space:nowrap;font-size:1rem;font-weight:700}.mc-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;font-size:1.1rem;font-weight:600;display:flex;overflow:hidden}.mc-score-block{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.mc-score-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:500}.mc-score-value{color:var(--primary);font-size:1.5rem;font-weight:800}.mc-medals{border-top:1px solid #ffffff1a;grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:.7rem 1rem;display:grid}.mc-medal{text-align:center;background:#00000040;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .4rem;font-size:1.02rem;font-weight:600;display:flex}.mc-stats{border-top:1px solid #ffffff1a;grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:.7rem 1rem;display:grid}.mc-stats>div{flex-direction:column;align-items:center;gap:.15rem;display:flex}.mc-stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:500}.mc-stat-value{font-size:.95rem;font-weight:600}}.match-row{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;grid-template-columns:110px 1fr auto;align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.match-row+.match-row{margin-top:.5rem}@media (max-width:600px){.match-row{grid-template-columns:1fr;gap:.5rem;padding:.75rem}.match-row-count{text-align:left!important}}.match-row-date{color:#ffffffa6;font-variant-numeric:tabular-nums;font-size:.85rem}.match-row-players{flex-direction:column;gap:.4rem;min-width:0;display:flex}.match-row-podium{flex-wrap:wrap;gap:.5rem;font-size:.9rem;display:flex}.match-row-podium-item{border:1px solid var(--card-border);background:#00000040;border-radius:999px;padding:.25rem .65rem}.match-row-others{color:#ffffff8c;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.match-row-others-label{text-transform:uppercase;letter-spacing:.04em;color:#ffffff73;font-size:.7rem;font-weight:500}.match-row-others-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:999px;padding:.15rem .55rem}.match-row-count{color:#fff9;text-align:right;font-size:.85rem}.match-row-meta{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.match-row-edit{color:#ffffff8c;min-width:36px;min-height:36px;transition:var(--transition);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;text-decoration:none;display:inline-flex}.match-row-edit:hover{border-color:var(--card-border);color:var(--foreground);background:#ffffff0a}@media (max-width:600px){.match-row-meta{justify-content:space-between}}.sidebar-card{background:linear-gradient(145deg,#1e293bd9,#0f172aeb);align-self:start}.sidebar-title{margin-bottom:1rem;font-size:1.2rem}.add-player-form{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.player-list{border-top:1px solid var(--card-border);padding-top:.75rem}.player-row{border-radius:8px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .6rem;display:flex}.player-row+.player-row{margin-top:.25rem}.player-row:hover{background:#ffffff0a}.player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.player-edit-input{flex:1;min-width:0}.icon-btn{color:#ffffff8c;transition:var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:.4rem .55rem;font-size:.95rem;display:inline-flex}.icon-btn:hover{border-color:var(--card-border);color:var(--foreground)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-danger:hover{color:var(--danger);background:#ef444414;border-color:#ef444480}.medal-row{background:#0003;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.85rem 1rem;display:flex}.medal-row-name{flex:auto;min-width:120px;font-size:1.05rem;font-weight:600}.medal-row-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.medal-pick{min-height:38px;padding:.4rem .7rem}@media (max-width:480px){.medal-row{padding:.7rem}.medal-row-name{flex-basis:100%}.medal-row-buttons{justify-content:flex-start}}
