@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&display=swap";html,body{height:100%}body{margin:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #2d6a4f;--green-light: #40916c;--green-pale: #d8f3dc;--clay: #c9773b;--clay-light: #e8975a;--dark: #0d1b12;--mid: #1b3a27;--text: #f4f9f5;--text-muted: #8fb59a;--white: #ffffff;--card-bg: rgba(255, 255, 255, .04);--border: rgba(255, 255, 255, .1);--radius: 12px;--navbar-height: 64px}body{background:var(--dark);color:var(--text);font-family:DM Sans,sans-serif;min-height:100vh;display:block;place-items:unset}.app{width:100%}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:#0d1b12d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-brand{display:flex;align-items:center;gap:10px;cursor:pointer}.nav-logo{font-size:1.4rem}.nav-title{font-family:Bebas Neue,sans-serif;font-size:1.6rem;letter-spacing:2px;color:var(--green-light)}.nav-links{display:flex;align-items:center;gap:6px}.nav-btn{background:none;border:none;color:var(--text-muted);font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;padding:8px 14px;border-radius:8px;cursor:pointer;transition:all .2s}.nav-btn:hover,.nav-btn.active{color:var(--text);background:var(--card-bg)}.nav-btn.nav-cta{background:var(--clay);color:var(--white);font-weight:600}.nav-btn.nav-cta:hover{background:var(--clay-light)}.nav-user-btn{font-size:.9rem;color:var(--green-light);font-weight:600;padding:8px 14px;background:none;border:none;cursor:pointer;border-radius:8px;font-family:DM Sans,sans-serif;transition:all .2s}.nav-user-btn:hover,.nav-user-btn.active{color:var(--text);background:var(--card-bg)}.message-banner{position:fixed;top:calc(var(--navbar-height) + 8px);left:50%;transform:translate(-50%);z-index:1000;padding:12px 24px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;width:max-content;min-width:300px;max-width:min(600px,90vw);box-shadow:0 4px 12px #0000004d;animation:slideDown .3s ease}.message-banner.success{background-color:#2d6a4f;color:#fff}.message-banner.error{background-color:#9b2335;color:#fff}.message-close{font-size:1.1rem;opacity:.8}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hero{position:relative;overflow:visible;min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.hero-bg:after{content:"";position:absolute;inset:0;background:#0000008c}.court-lines{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(45,106,79,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(45,106,79,.08) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}.hero-content{position:relative;z-index:1;text-align:center;padding:6rem 2rem 3rem;max-width:700px;animation:fadeUp .7s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--clay);margin-bottom:1rem}.hero-title{font-family:Bebas Neue,sans-serif;font-size:clamp(3.5rem,8vw,6rem);line-height:1.05;letter-spacing:2px;color:var(--text);margin-bottom:1.2rem}.hero-subtitle{font-size:1.1rem;color:var(--text-muted);line-height:1.7;margin-bottom:2.5rem}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-primary{background:var(--clay);color:var(--white);border:none;border-radius:var(--radius);padding:14px 32px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.btn-primary:hover{background:var(--clay-light);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:14px 32px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s}.btn-secondary:hover{border-color:var(--green-light);background:var(--card-bg)}.features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;padding:2rem 2rem 4rem;width:100%;max-width:900px;animation:fadeUp .7s .2s ease both}.feature-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem 1.5rem;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:var(--green-light);transform:translateY(-3px)}.feature-icon{font-size:2rem;display:block;margin-bottom:.8rem}.feature-card h3{font-size:1rem;font-weight:600;margin-bottom:.4rem;color:var(--text)}.feature-card p{font-size:.875rem;color:var(--text-muted);line-height:1.6}.auth-wrapper{display:flex;justify-content:center;align-items:flex-start;padding:3rem 1.5rem 5rem;min-height:calc(100vh - 64px)}.auth-card{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;animation:fadeUp .4s ease both}.auth-card-wide{max-width:620px}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:2.5rem;display:block;margin-bottom:.8rem}.auth-header h2{font-family:Bebas Neue,sans-serif;font-size:2.2rem;letter-spacing:1.5px;color:var(--text)}.auth-header p{font-size:.9rem;color:var(--text-muted);margin-top:4px}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}.auth-card{padding:1.8rem 1.2rem}}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted)}.form-group input,.form-group select{background:#00000040;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;padding:11px 14px;transition:border-color .2s;outline:none;width:100%}.form-group input::placeholder{color:#8fb59a66}.form-group input:focus,.form-group select:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #40916c1f}.form-group select{cursor:pointer}.form-group select option{background:var(--mid);color:var(--text)}.btn-submit{background:var(--green);color:var(--white);border:none;border-radius:var(--radius);padding:14px;margin-top:.5rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s;width:100%}.btn-submit:hover:not(:disabled){background:var(--green-light)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-muted)}.auth-switch button{background:none;border:none;color:var(--clay);font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:underline}.auth-switch button:hover{color:var(--clay-light)}.error-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:2rem}.error-content{text-align:center;animation:fadeUp .5s ease both}.error-code{font-family:Bebas Neue,sans-serif;font-size:clamp(6rem,20vw,12rem);color:var(--clay);display:block;line-height:1;margin-bottom:1rem}.error-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,5vw,3rem);letter-spacing:2px;color:var(--text);margin-bottom:1rem}.error-subtitle{font-size:1rem;color:var(--text-muted);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.admin-wrapper{min-height:calc(100vh - 80px);display:flex;justify-content:center;padding:3rem 1.5rem}.admin-container{width:100%;max-width:1200px}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h1{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.admin-header p{font-size:1.05rem;color:#cbd5e1}.admin-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;box-shadow:0 20px 40px #00000040}.admin-card-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.admin-card-header h2{font-size:1.6rem;font-weight:600;color:#fff;margin-bottom:.35rem}.admin-card-header p{font-size:1rem;color:#cbd5e1}.admin-table-wrapper{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;color:#e5e7eb;font-size:1rem}.admin-table thead{background:#ffffff14}.admin-table th{padding:1rem 1.5rem;text-align:left;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:#cbd5e1}.admin-table td{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08)}.admin-table tbody tr:hover{background:#ffffff0d}.edit-btn{padding:.55rem 1rem;border-radius:10px;border:1px solid rgba(96,165,250,.4);background:#3b82f61f;color:#93c5fd;font-size:.95rem;font-weight:600;cursor:pointer;transition:.2s ease}.edit-btn:hover{background:#3b82f633;color:#fff}.empty-cell{text-align:center;padding:2rem;color:#94a3b8}.profile-wrapper{display:flex;justify-content:center;align-items:flex-start;padding:3rem 1.5rem 5rem;min-height:calc(100vh - 64px)}.profile-card{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:520px;animation:fadeUp .4s ease both;text-align:center}.profile-photo-section{margin-bottom:1.5rem}.profile-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--green-light)}.profile-photo-placeholder{width:120px;height:120px;border-radius:50%;background:var(--green);color:var(--white);font-family:Bebas Neue,sans-serif;font-size:2.5rem;display:inline-flex;align-items:center;justify-content:center;letter-spacing:2px;border:3px solid var(--green-light)}.profile-name{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:1.5px;color:var(--text);margin-bottom:.3rem}.profile-email{font-size:.9rem;color:var(--text-muted);margin-bottom:.3rem}.profile-dob{font-size:.85rem;color:var(--text-muted)}.profile-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.profile-bio-section{text-align:left}.profile-section-title{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem}.profile-bio-text{font-size:.95rem;color:var(--text);line-height:1.7;white-space:pre-wrap;margin-bottom:1.5rem}.profile-bio-input{width:100%;background:#00000040;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;padding:11px 14px;resize:vertical;outline:none;transition:border-color .2s}.profile-bio-input:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #40916c1f}.profile-url-input{width:100%;background:#00000040;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;padding:11px 14px;outline:none;transition:border-color .2s}.profile-url-input:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #40916c1f}.profile-actions{display:flex;gap:12px;margin-top:1.2rem}.profile-actions .btn-submit,.profile-actions .btn-secondary{flex:1}.profile-edit-btn{margin-top:.5rem}.profile-error{color:#ff6b6b;font-size:.85rem;margin-top:.5rem}.edit-menu{margin-top:.5rem;padding:.5rem;border:1px solid var(--border);background-color:var(--card-bg);border-radius:8px;display:flex;gap:.5rem;width:max-content;justify-content:center;margin-left:auto;margin-right:auto}.btn-inline{background:var(--green-pale);color:var(--dark);border:1px solid var(--green-light);padding:.3rem .6rem;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.btn-inline:hover{background-color:var(--green-light);color:var(--white)}.calendar-container{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;margin:0 auto;animation:fadeUp .4s ease both}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h2{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:1.5px;color:var(--text)}.calendar-nav-btn{background:#00000040;border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:8px;cursor:pointer;transition:all .2s}.calendar-nav-btn:hover{background:var(--card-bg);border-color:var(--green-light)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.calendar-day-header{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase}.calendar-day{background:#00000040;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 0 6px;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.calendar-day:hover{border-color:var(--green-light);background:var(--card-bg)}.calendar-day.selected{background:var(--green);border-color:var(--green-light);color:var(--white)}.calendar-day--focused{box-shadow:0 0 0 2px #c9773b59}.calendar-day-number{line-height:1}.calendar-day-markers{display:flex;align-items:center;justify-content:center;gap:4px;min-height:10px;margin-top:4px}.calendar-marker{width:7px;height:7px;border-radius:50%;display:inline-block}.calendar-marker--availability{background:var(--green-pale)}.calendar-marker--match{background:var(--clay)}.calendar-marker--friendly{background:#60a5fa}.calendar-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:1rem;font-size:.8rem;color:var(--text-muted)}.calendar-legend-item{display:inline-flex;align-items:center;gap:6px}.calendar-day-panel{margin-top:1rem;background:#00000038;border:1px solid var(--border);border-radius:12px;padding:1rem}.calendar-day-panel-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem;color:var(--text-muted)}.calendar-day-panel-header strong{color:var(--text)}.calendar-day-empty{font-size:.9rem;color:var(--text-muted)}.calendar-day-events{display:flex;flex-direction:column;gap:.65rem}.calendar-day-event{border-radius:10px;padding:.8rem .9rem;border:1px solid var(--border);background:#ffffff0a}.calendar-day-event--match{border-left:3px solid var(--clay)}.calendar-day-event--friendly{border-left:3px solid #60a5fa}.calendar-day-event-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center;font-size:.9rem;color:var(--text)}.calendar-day-event-status{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.calendar-day-event-time{margin-top:.35rem;font-size:.8rem;color:var(--text-muted)}.hero-calendar-wrapper{width:100%;max-width:420px}@media(max-width:1150px){.hero-calendar-wrapper{position:relative;right:auto;top:auto;transform:none;margin-top:1rem;margin-bottom:3rem}}.ladder-container{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:700px;animation:fadeUp .4s ease both}.ladder-title{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:1.5px;margin-bottom:1.5rem}.ladder-list{display:flex;flex-direction:column;gap:10px}.ladder-group{border:1px solid var(--border);border-radius:10px;overflow:hidden}.ladder-group-header{display:flex;align-items:center;justify-content:space-between;background:#00000040;padding:12px 16px}.weather-container{position:relative;z-index:1;margin-top:2.5rem;width:100%;max-width:980px;margin-left:auto;margin-right:auto;padding:1.75rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:#1b3a276b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 36px #0000002e;animation:fadeUp .7s .3s ease both}.weather-header{display:flex;justify-content:center;margin-bottom:1rem}.weather-header h3{font-family:Bebas Neue,sans-serif;font-size:1.7rem;letter-spacing:1.5px;color:var(--text)}.weather-grid{--weather-columns: 7;display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;width:100%}.weather-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.2rem .8rem;text-align:center;transition:border-color .2s,transform .2s,background .2s;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.6rem;flex:1 1 calc((100% - (var(--weather-columns) - 1) * .85rem) / var(--weather-columns));max-width:calc((100% - (var(--weather-columns) - 1) * .85rem) / var(--weather-columns))}.weather-card:hover{border-color:var(--green-light);background:#40916c24;transform:translateY(-3px)}.weather-day{font-size:.9rem;font-weight:600;color:var(--text)}.weather-date{font-size:.75rem;color:var(--text-muted)}.weather-icon{font-size:2.5rem;line-height:1}.weather-temps{display:flex;gap:.6rem;align-items:center;justify-content:center;font-size:.95rem}.weather-max{color:var(--text);font-weight:600}.weather-min{color:var(--text-muted);font-size:.85rem}.weather-description{font-size:.75rem;color:var(--text-muted);word-break:break-word;min-height:1.9rem;display:flex;align-items:center;justify-content:center}.weather-loading{text-align:center;color:var(--text-muted);padding:2rem;font-size:.9rem}.weather-error{text-align:center;color:#ff6b6b;padding:1rem;border-radius:8px;background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);font-size:.9rem}@media(max-width:768px){.weather-container{padding:1.25rem}.weather-grid{--weather-columns: 4;gap:.8rem}.weather-card{padding:1rem .6rem;flex-basis:calc((100% - (var(--weather-columns) - 1) * .8rem) / var(--weather-columns));max-width:calc((100% - (var(--weather-columns) - 1) * .8rem) / var(--weather-columns))}.weather-icon{font-size:2rem}.weather-header h3{font-size:1.2rem}}.ladder-group-name{font-weight:600;font-size:1rem;color:var(--text)}.ladder-group-right{display:flex;align-items:center;gap:8px}.ladder-group-toggle{background:none;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:4px 8px}.ladder-group-toggle:hover{color:var(--text)}.ladder-join-btn{background:var(--clay);color:var(--white);border:none;border-radius:8px;padding:6px 14px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.ladder-join-btn:hover{background:var(--clay-light)}.ladder-group-teams{padding:8px;display:flex;flex-direction:column;gap:6px}.ladder-item{display:flex;justify-content:space-between;align-items:center;background:#00000040;border:1px solid var(--border);padding:12px 16px;border-radius:10px;transition:.2s}.ladder-item:hover{border-color:var(--green-light);background:var(--card-bg)}.ladder-rank{font-weight:700;color:var(--clay);width:40px}.ladder-name{flex:1}.ladder-elo{font-weight:600;color:var(--green-light)}.ladder-empty{color:var(--text-muted);text-align:center}.ladder-message{font-size:.85rem;color:var(--green-light);text-align:center;margin-bottom:.5rem}.ladder-popup-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:center;justify-content:center}.ladder-popup{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem}.ladder-popup h3{font-family:Bebas Neue,sans-serif;font-size:1.6rem;letter-spacing:1px}.ladder-popup-sub{font-size:.85rem;color:var(--text-muted)}.ladder-popup-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:1rem}.ladder-popup-section h4{font-size:.9rem;font-weight:600;color:var(--text-muted)}.ladder-popup-input{background:#00000040;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;padding:10px 14px;outline:none;transition:border-color .2s}.ladder-popup-input:focus{border-color:var(--green-light)}.ladder-popup-btn{background:var(--green);color:var(--white);border:none;border-radius:8px;padding:10px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.ladder-popup-btn:hover{background:var(--green-light)}.ladder-popup-team{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.ladder-popup-btn-small{background:var(--clay);color:var(--white);border:none;border-radius:6px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;transition:background .2s}.ladder-popup-btn-small:hover{background:var(--clay-light)}.ladder-popup-close{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:8px;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .2s}.ladder-popup-close:hover{border-color:var(--text);color:var(--text)}.ladder-message{font-size:.85rem;color:var(--green-light);text-align:center}.teams-wrapper{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;padding:1rem}.teams-mini-card{background:var(--mid);border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.7rem;transition:.2s}.teams-mini-card:hover{background:var(--card-bg);border-color:var(--green-light)}.teams-mini-card strong{font-size:.75rem;font-weight:600}.teams-mini-card em{font-size:.65rem;color:var(--text-muted)}.teams-input-group{display:flex;gap:.4rem;width:100%;margin-bottom:.5rem}.teams-input-group input{flex:1;padding:6px 8px;font-size:.7rem;border-radius:6px}.teams-input-group button{padding:6px 10px;font-size:.7rem;border-radius:6px}.hero-dashboard{position:absolute;top:2rem;left:4rem;right:4rem;display:flex;justify-content:space-between;align-items:flex-start;z-index:10;gap:2rem}.hero-ladder{max-width:700px;width:100%}.nav-left{display:flex;align-items:center;gap:1rem}.nav-brand.clickable{cursor:pointer}.nav-dropdown-wrapper{position:relative}.nav-menu-btn{background:none;border:none;cursor:pointer;font-size:1.5rem;padding:4px 8px;color:#f4f9f5}.nav-bell-btn{background:none;border:none;cursor:pointer;font-size:1.3rem;padding:8px;position:relative;line-height:1}.nav-dropdown{position:absolute;top:calc(100% + 8px);background:#1b3a27;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 8px 24px #0006;z-index:200;overflow:hidden;display:flex;flex-direction:column}.nav-dropdown-left{left:0;min-width:200px}.nav-dropdown-right{right:0;min-width:280px}.nav-dropdown-item{border-radius:0;text-align:left;width:100%;padding:12px 16px;background:transparent;border-bottom:1px solid rgba(255,255,255,.06)}.nav-dropdown-item:last-child{border-bottom:none}.nav-badge{position:absolute;top:2px;right:2px;background:#e53e3e;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.nav-dropdown-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#8fb59a}.nav-dropdown-empty{padding:16px;color:#8fb59a;font-size:.9rem;text-align:center}.nav-dropdown-text{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:.9rem;color:#f4f9f5}.nav-dropdown-text:last-child{border-bottom:none}.profile-actions{display:flex!important;flex-direction:row!important;justify-content:center;align-items:center;gap:1rem;width:100%;margin-top:1rem}.profile-actions .btn-submit,.profile-actions .btn-secondary{flex:1;margin:0!important;height:48px;padding:0 24px;font-size:1rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.stats-page{position:relative;min-height:100vh;padding:0 2rem 5rem;max-width:900px;margin:0 auto;overflow-x:hidden}.stats-orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}.stats-orb--1{width:500px;height:500px;background:radial-gradient(circle,rgba(45,106,79,.18) 0%,transparent 70%);top:-100px;right:-150px}.stats-orb--2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,119,59,.12) 0%,transparent 70%);bottom:100px;left:-100px}.stats-page>*{position:relative;z-index:1}.stats-header{display:flex;align-items:center;gap:1.5rem;padding:2rem 0 2.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem;animation:fadeUp .5s ease both}.back-btn{background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.back-btn:hover{color:var(--text);border-color:var(--green-light)}.stats-title-block{flex:1}.stats-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--clay);margin-bottom:4px}.stats-title{font-family:Bebas Neue,sans-serif;font-size:2.8rem;letter-spacing:2px;color:var(--text);line-height:1}.stats-elo-badge{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,var(--mid),rgba(45,106,79,.3));border:1px solid rgba(64,145,108,.3);border-radius:14px;padding:14px 22px;min-width:90px;box-shadow:0 0 24px #2d6a4f26}.elo-num{font-family:Bebas Neue,sans-serif;font-size:2rem;color:var(--green-light);line-height:1}.elo-lbl{font-size:.65rem;font-weight:700;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2.5rem;animation:fadeUp .5s .1s ease both}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.5rem;transition:transform .2s,border-color .2s}.stat-card:hover{transform:translateY(-2px);border-color:#40916c4d}.stat-card--accent{background:linear-gradient(135deg,#2d6a4f2e,#40916c14);border-color:#40916c40}.stat-label{font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.stat-value{font-family:Bebas Neue,sans-serif;font-size:2.6rem;color:var(--text);line-height:1;letter-spacing:1px}.stat-card--accent .stat-value{color:var(--green-light)}.stat-sub{font-size:.78rem;color:var(--text-muted);margin-top:6px}.chart-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.5rem 1.2rem;margin-bottom:2rem;animation:fadeUp .5s .2s ease both}.section-label{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.2rem}.section-dot{width:6px;height:6px;border-radius:50%;background:var(--green-light);box-shadow:0 0 6px var(--green-light)}.chart-wrap{width:100%;overflow-x:auto}.elo-svg{width:100%;height:auto;display:block;min-width:360px}.chart-empty{display:flex;align-items:center;justify-content:center;height:120px;color:var(--text-muted);font-size:.9rem}.chart-legend{display:flex;align-items:center;gap:4px;font-size:.78rem;color:var(--text-muted);margin-top:1rem;justify-content:flex-end}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.legend-dot--win{background:#40916c}.legend-dot--loss{background:#c9773b}.matches-section{animation:fadeUp .5s .3s ease both}.matches-header-row{display:grid;grid-template-columns:48px 1fr 90px 70px 120px 70px;gap:8px;padding:0 1rem .6rem;font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:.5rem;margin-top:1.2rem}.matches-list{display:flex;flex-direction:column;gap:6px}.match-row{display:grid;grid-template-columns:48px 1fr 90px 70px 120px 70px;gap:8px;align-items:center;padding:.9rem 1rem;border-radius:10px;border:1px solid transparent;background:var(--card-bg);font-size:.88rem;animation:slideIn .3s ease both;transition:border-color .2s,background .2s}.match-row:hover{border-color:var(--border);background:#ffffff0d}.match-row--win{border-left:3px solid #40916c}.match-row--loss{border-left:3px solid #c9773b}.match-result-pill{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;letter-spacing:0}.match-row--win .match-result-pill{background:#40916c33;color:#40916c}.match-row--loss .match-result-pill{background:#c9773b33;color:#c9773b}.match-opponent{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-score{font-weight:700;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:1rem;letter-spacing:1px}.match-sets,.match-date{color:var(--text-muted);font-size:.82rem}.match-elo-delta{font-weight:700;font-size:.88rem;text-align:right}.match-elo-delta.pos{color:#40916c}.match-elo-delta.neg{color:#c9773b}.no-matches{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center;color:var(--text-muted);animation:fadeUp .5s ease both}.no-matches-icon{font-size:3.5rem;margin-bottom:1rem}.no-matches h2{font-family:Bebas Neue,sans-serif;font-size:2rem;color:var(--text);margin-bottom:.5rem}.no-matches p{font-size:.95rem}.stats-loading,.stats-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-muted)}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--green-light);border-radius:50%;animation:spin .8s linear infinite}.stats-error button{background:var(--card-bg);border:1px solid var(--border);color:var(--text-muted);padding:8px 18px;border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.stats-page{padding:0 1rem 4rem}.stats-header{flex-wrap:wrap;gap:1rem}.matches-header-row,.match-row{grid-template-columns:40px 1fr 70px 60px;font-size:.8rem}.matches-header-row span:nth-child(4),.matches-header-row span:nth-child(5),.match-row .match-sets,.match-row .match-date{display:none}}.fm-wrap{width:100%;max-width:860px;margin:0 auto;padding:2rem;color:var(--text)}.fm-panel-stack{display:flex;flex-direction:column;gap:1.5rem}.fm-view-switch{display:inline-flex;gap:.35rem;padding:.35rem;margin-bottom:1.5rem;background:#00000026;border:1px solid var(--border);border-radius:999px}.fm-view-tab{border:none;background:transparent;color:var(--text-muted);padding:.7rem 1.1rem;border-radius:999px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.fm-view-tab.active{background:var(--clay);color:var(--white)}.fm-view-tab:not(.active):hover{background:#ffffff0a;color:var(--text)}.fm-heading{display:flex;align-items:baseline;gap:.75rem;margin-bottom:2rem}.fm-heading h1{font-family:Bebas Neue,sans-serif;font-size:2.5rem;font-weight:400;margin:0;letter-spacing:1px;color:var(--green-light)}.fm-heading span{font-size:.85rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.fm-stepper{display:flex;align-items:center;margin-bottom:2.25rem;gap:0}.fm-step-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.fm-step-item:not(:last-child):after{content:"";position:absolute;top:14px;left:50%;width:100%;height:2px;background:var(--border);z-index:0}.fm-step-item.done:not(:last-child):after,.fm-step-item.active:not(:last-child):after{background:var(--clay);opacity:.5}.fm-step-dot{width:30px;height:30px;border-radius:50%;border:2px solid var(--border);background:var(--mid);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;z-index:1;color:var(--text-muted);transition:all .2s}.fm-step-item.done .fm-step-dot{background:var(--clay);border-color:var(--clay);color:var(--white)}.fm-step-item.active .fm-step-dot{border-color:var(--clay);color:var(--clay);box-shadow:0 0 0 4px #c9773b26}.fm-step-label{font-size:.75rem;margin-top:8px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.fm-step-item.active .fm-step-label{color:var(--clay);font-weight:600}.fm-step-item.done .fm-step-label{color:var(--text);opacity:.8}.fm-card{background:var(--mid);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.fm-card-title{font-family:Bebas Neue,sans-serif;font-size:1.8rem;font-weight:400;margin:0 0 .25rem;letter-spacing:1px}.fm-card-sub{font-size:.9rem;color:var(--text-muted);margin:0 0 1.75rem}.fm-sport-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.fm-sport-btn{background:#00000026;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.25rem;cursor:pointer;text-align:left;color:var(--text);font-family:inherit;transition:all .2s;display:flex;flex-direction:column;gap:.35rem}.fm-sport-btn:hover{border-color:var(--clay);background:var(--card-bg);transform:translateY(-2px)}.fm-sport-icon{font-size:2rem}.fm-sport-name{font-weight:600;font-size:1.2rem}.fm-sport-desc{font-size:.85rem;color:var(--text-muted)}.fm-sides{display:grid;grid-template-columns:1fr 52px 1fr;gap:0;align-items:start;margin-top:1.25rem}.fm-vs{display:flex;align-items:center;justify-content:center;padding-top:1rem;font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:var(--text-muted)}.fm-side-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.fm-side-label-badge{background:var(--clay);color:var(--white);font-size:.65rem;padding:3px 8px;border-radius:12px;font-weight:600}.fm-you-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem}.fm-you-avatar{width:34px;height:34px;border-radius:50%;background:var(--clay);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--white);flex-shrink:0}.fm-you-name{font-size:.95rem;font-weight:500}.fm-you-tag{font-size:.75rem;color:var(--text-muted)}.fm-chip-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.65rem}.fm-chip{display:flex;align-items:center;justify-content:space-between;background:#0003;border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem;font-size:.9rem}.fm-chip-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1.1rem;padding:0;transition:color .15s}.fm-chip-remove:hover{color:#f87171}.fm-empty{font-size:.85rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.fm-flow-error{margin-top:1.25rem}.fm-select-row{display:flex;gap:.5rem;margin-top:1rem}.fm-select-row select{flex:1;background:#00000040;border:1px solid var(--border);border-radius:8px;padding:.6rem .85rem;color:var(--text);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s;cursor:pointer}.fm-select-row select:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #40916c1f}.fm-add-btn{background:var(--clay);color:var(--white);border:none;border-radius:8px;padding:.6rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,opacity .15s}.fm-add-btn:disabled{opacity:.4;cursor:not-allowed}.fm-add-btn:not(:disabled):hover{background:var(--clay-light)}.fm-divider{height:1px;background:var(--border);margin:1.5rem 0}.fm-field{margin-bottom:1.25rem}.fm-field label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase;color:var(--text-muted)}.fm-field input,.fm-field textarea{width:100%;background:#00000040;border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text);font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s;resize:vertical}.fm-field input:focus,.fm-field textarea:focus{border-color:var(--green-light);box-shadow:0 0 0 3px #40916c1f}.fm-field input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.fm-confirm-row{display:flex;gap:.5rem;font-size:.95rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.fm-confirm-row:last-of-type{border-bottom:none}.fm-confirm-key{color:var(--text-muted);min-width:120px}.fm-confirm-sides{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin:1.5rem 0}.fm-confirm-side-box{background:#00000026;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.fm-confirm-side-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.fm-confirm-player{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin-bottom:.4rem}.fm-confirm-dot{width:6px;height:6px;border-radius:50%;background:var(--clay);flex-shrink:0}.fm-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-start}.fm-error{color:#f87171;font-size:.9rem;margin-top:.6rem}.fm-loading{color:var(--text-muted);font-size:.9rem}.fm-empty-state{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;border:1px dashed var(--border);border-radius:12px;color:var(--text-muted)}.fm-invite-list{display:flex;flex-direction:column;gap:1rem}.fm-invite-card{padding:1.25rem;border:1px solid var(--border);border-radius:14px;background:#0000002e}.fm-invite-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.fm-invite-top h2{margin:0;font-size:1.1rem}.fm-invite-top p{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.fm-status-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:.35rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.fm-status-badge.pending{background:#c9773b29;color:#f6c59c;border:1px solid rgba(201,119,59,.4)}.fm-invite-meta{display:flex;gap:.75rem;margin-bottom:1rem;color:var(--text-muted);font-size:.85rem}.fm-invite-sides{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.fm-invite-side{padding:.9rem 1rem;border-radius:12px;background:#ffffff08;border:1px solid var(--border)}.fm-invite-side-title{margin-bottom:.6rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.fm-invite-player+.fm-invite-player{margin-top:.45rem}.fm-invite-note{margin:.6rem 0 0;color:var(--text-muted);font-size:.92rem}.fm-invite-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}@media(max-width:720px){.fm-view-switch{display:flex;width:100%}.fm-view-tab{flex:1}.fm-invite-top,.fm-invite-actions{flex-direction:column;align-items:stretch}.fm-invite-sides,.fm-confirm-sides,.fm-sport-grid{grid-template-columns:1fr}.fm-sides{grid-template-columns:1fr;gap:1rem}.fm-vs{padding-top:0}}
