/* Bright court theme. Shared controls retain their existing layout and behavior. */
:root{--green:#087c63;--green-light:#e1f6ec;--green-dark:#075b48;--blue:#2763bd;--blue-light:#eaf1ff;--gold:#d39b2b;--text:#16382f;--muted:#536e65;--border:#d8e7df;--card:#fff;--bg:#edf6ef;--danger:#bc344c;--shadow:0 12px 32px #163e3010;--glow:0 12px 32px #163e3010;color-scheme:light}
html{background:#edf6ef}
body{color:var(--text);background:radial-gradient(ellipse at 0 0,#c8f4deaa,transparent 55%),radial-gradient(ellipse at 100% 15%,#faedcaaa,transparent 50%),linear-gradient(#f4faf0dc,#edf6f0f0),url('../../bg.jpg') center/cover fixed;min-height:100vh;padding:24px}
body::before{display:none}
.app{max-width:1360px;padding-bottom:36px}
.main-menu{padding:16px 22px;margin-bottom:24px;border:1px solid #ffffffcc;background:#ffffffd9;border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.app-logo{letter-spacing:.08em;color:#086d56}.app-logo span{color:#61786e}
.home-heading{position:relative;max-width:none;padding:44px 40px 48px;border:1px solid #ffffff9e;border-radius:28px;overflow:hidden;margin-bottom:24px;background:linear-gradient(90deg,#f2fff7fc 0%,#e6faedee 40%,#f5efd766 75%,#fbf4e32b),url('../../bg.jpg') center 48%/cover;box-shadow:0 20px 40px #224a3212}
.home-heading h1{max-width:610px;letter-spacing:-.04em;font-size:clamp(34px,5vw,58px)}.home-heading p{max-width:540px;color:#3b5d4e}.home-heading small{color:#086e52}
.card{background:linear-gradient(145deg,#fff,#fafffc);border-color:var(--border);box-shadow:var(--shadow);backdrop-filter:none}
.card-header{background:linear-gradient(90deg,#eefaf3,#fff);border-color:var(--border)}
.card-title,.card-body,td{color:var(--text)}.section-sub,.small,.note{color:var(--muted)}
.option-card{position:relative;overflow:hidden;border-radius:24px;min-height:170px;background:linear-gradient(140deg,#fff,#e8f9ef);border:1px solid #d0eadd;box-shadow:0 8px 26px #224a320c}
.option-card:nth-child(2){background:linear-gradient(140deg,#fff,#e9f1ff);border-color:#dce6fa}.option-card:nth-child(3){background:linear-gradient(140deg,#fff,#fff4d9);border-color:#eee1c2}.option-card:nth-child(4){background:linear-gradient(140deg,#fff,#f3eafb);border-color:#e5d9f1}
.option-card:after{content:'↗';position:absolute;right:20px;top:18px;font-size:25px;color:#4c7766}.option-card h2{margin:18px 0 12px;letter-spacing:-.03em}.option-card:hover{box-shadow:0 16px 30px #16443116;border-color:#88cbb0}
.btn{border-radius:12px;transition:transform .18s,box-shadow .18s}.btn-green{background:linear-gradient(120deg,#0c8969,#08685e);color:white;box-shadow:0 6px 16px #087c6326}.btn-green:hover{box-shadow:0 9px 20px #087c6340}.btn-secondary{background:#ffffff;color:#214a3c;border-color:#cddfd4}.btn-secondary:hover{background:#eaf7ee;color:#173c2e}.btn-danger{background:linear-gradient(120deg,#bf3b52,#d95960);color:#fff}
.topbar{background:radial-gradient(ellipse at 95% 10%,#8be7b859,transparent 48%),linear-gradient(120deg,#0a7058,#188b79 65%,#327d81);border-color:#67b398;box-shadow:0 16px 32px #095c492b}.brand small{color:#cdf9dc}.brand .tagline{color:#e1f5eb}
.tab{background:#fffffff2;border-color:var(--border);color:#526e62;box-shadow:0 4px 12px #123f2c08}.tab:hover{color:#126246}.tab.active{background:linear-gradient(120deg,#0a8062,#168c79);color:white;box-shadow:0 6px 15px #087c6320}
.stat,.insight,.quick-note-item,.team-block{background:linear-gradient(145deg,#fff,#f0faf4);color:var(--text);border-color:var(--border);box-shadow:var(--shadow)}.stat .v,.avg-bold{color:#087052;text-shadow:none}.stat-featured{background:linear-gradient(135deg,#d6f5e5,#edfff4);border-color:#a9dbc3}.stat-featured .v{color:#075b48}.stat-featured .l{color:#346252}
.hero-card{background:linear-gradient(140deg,#dcf5e5,#faffed)}.hero-card .card-body>div:first-child{color:#146649!important}.hero-pill{background:#fff9;color:#265b48;border-color:#b9ddc9}.hero-pill:hover{background:#d4f4e2;color:#145e40}
input,select,textarea{background:#fff;color:var(--text);border-color:#c8dcd1;color-scheme:light}input::placeholder,textarea::placeholder{color:#73877d}option{background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #168c79;outline-offset:2px;box-shadow:none}
th{background:#edf7f1;color:#4a685c;border-color:var(--border)}td{border-color:#e1ece5}tr:hover td{background:#f0faf4}.rn{background:#e9f2ed;color:#36594a}.badge-green,.form-win{background:#def4e5;color:#176440;border-color:#b5dfc4}.badge-blue{background:#e8efff;color:#315ea0;border-color:#d0ddf6}.badge-gray{background:#edf1ef;color:#4d6459;border-color:#d8e0db}.form-loss{background:#fce9e9;color:#a63f4c;border-color:#edc7cc}
.seasons-table tbody tr{background:#f8fcfa}.season-current td{background:linear-gradient(100deg,#e0f6e9,#f9fce8)}.season-winner{background:#e0f5e8;color:#166b48}.current-season-badge{background:#147a5a;color:white}
.type-btn{background:#fff;color:#516d60}.type-btn.active{background:#dff6e8;color:#156043;border-color:#79bc9d}.modal,.login-backdrop .modal{background:linear-gradient(145deg,#fff,#f5fcf7);border:1px solid #e1eee5;box-shadow:0 25px 70px #173c3438}.modal-backdrop,.login-backdrop{background:#254d3c30;backdrop-filter:blur(5px)}.login-kicker{color:#087052}.login-backdrop h1{letter-spacing:-.04em}.guest-divider{color:#607a6c}
.alert{background:#f4fbf6;color:var(--text);border-color:var(--border)}.alert.good{background:#e4f7e9;color:#216641;border-color:#b4ddc2}.alert.warn,.admin-banner{background:#fff3d8;color:#75541b;border-color:#ead5a3}.toast{background:#126f54;color:#fff}.invite-code{color:#075c46}
.profile-hero{background:radial-gradient(ellipse at 90% 0,#81e2b36b,transparent 55%),linear-gradient(115deg,#087153,#168d79);box-shadow:0 18px 36px #0b70532b}.profile-hero small{color:#c7f6d4}.profile-hero p{color:#e5faee}.profile-hero .btn-green{background:#e4ffb8;color:#204b32;box-shadow:none}.profile-avatar{background:#e4ffb8;color:#245b3a}.profile-metric:nth-child(2){background:linear-gradient(145deg,#fff,#e6f7eb)}.profile-metric:nth-child(3){background:linear-gradient(145deg,#fff,#eaf1ff)}.profile-metric:nth-child(4){background:linear-gradient(145deg,#fff,#fff4db)}.profile-metric strong{color:#116344}.form-pill.is-win{background:#d7f2df;color:#246d40}.form-pill.is-loss{background:#fbe6e3;color:#a04944}
:focus-visible{outline:3px solid #2978b9;outline-offset:3px}
.main-menu{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.nav-links{display:flex;gap:8px;align-items:center}.nav-link{text-decoration:none;color:#526e62;font-weight:650;font-size:14px;padding:11px 18px;border-radius:12px;transition:background .15s,color .15s}.nav-link:hover{background:#edf7f0;color:#14583f}.nav-link[aria-current="page"]{background:#e1f3e9;color:#086248}.nav-account{justify-self:end;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:18px;text-align:right}.account-identity{display:flex;flex-direction:column;gap:4px;grid-column:1}.account-chip{font-size:13px;font-weight:750;color:#244c3a;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:stretch}.account-identity small{font-size:10px;letter-spacing:.06em;color:#6c8076}.account-signout{grid-column:1;background:none;border:0;justify-self:end;font:inherit;font-size:11px;color:#5f7469;cursor:pointer;padding:5px 0 0}.account-signout:hover{color:#a73649;text-decoration:underline}.nav-account .btn{grid-column:2;grid-row:1}
@media(max-width:800px){.main-menu{grid-template-columns:1fr auto;gap:16px}.nav-links{grid-row:2;grid-column:1/-1;border-top:1px solid var(--border);padding-top:10px}.nav-link{flex:1;text-align:center}.nav-account{grid-column:2;grid-row:1}.account-chip{max-width:140px}.account-identity small{font-size:10px}}
.personal-highlights{margin:30px 0}.personal-highlights h2{margin-top:8px}.personal-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:14px}.fact-tile{padding:24px;display:flex;flex-direction:column;gap:10px}.fact-tile:nth-child(3n+1){background:linear-gradient(140deg,#fff,#eef9ef)}.fact-tile:nth-child(3n+2){background:linear-gradient(140deg,#fff,#edf3ff)}.fact-tile:nth-child(3n){background:linear-gradient(140deg,#fff,#fff6e4)}.fact-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#def1e5;color:#156748;font-size:23px}.fact-tile small{letter-spacing:.1em;font-size:10px;font-weight:800;color:var(--muted)}.fact-tile h3{font-size:16px}.fact-tile>strong{font-size:23px;line-height:1.3;overflow-wrap:anywhere;color:#146247}.fact-tile p{font-size:13px;line-height:1.6;color:var(--muted)}.format-comparison{margin:22px 0}.format-comparison h3{margin-bottom:18px}.format-record{padding:18px;border:1px solid var(--border);border-radius:16px;background:#f3faf5}.format-record span{font-weight:700}.format-record strong{float:right;font-size:24px;color:#167055}.format-record p{margin:12px 0;color:var(--muted);font-size:13px}.record-bar{height:7px;border-radius:20px;background:#d9e9df;overflow:hidden}.record-bar i{display:block;height:100%;background:linear-gradient(90deg,#169574,#9fda7a);border-radius:20px}.connection-tables h3{margin-bottom:16px}.connection-tables td small{color:var(--muted);font-size:11px}
@media(max-width:850px){.personal-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.personal-facts-grid{grid-template-columns:1fr}.fact-tile{padding:20px}}
.admin-role-control{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.admin-role-control button{margin-top:12px}
.insight-card{background:linear-gradient(140deg,#fff,#eef9f2);border-color:var(--border);box-shadow:var(--shadow)}.insight-card .k{color:var(--muted)}.insight-card .v,.biggest-defeat-team{color:#116344}.season-name{color:#136a4d}.season-period{color:var(--text)}.seasons-table tbody tr:hover td{background:#edf8f1}.delete-btn{color:#b43c4c}
@media(max-width:700px){body{padding:12px;background-attachment:scroll}.main-menu{padding:16px;margin-bottom:18px}.home-heading{padding:28px 24px;background:linear-gradient(90deg,#f2fff7f5,#eaf9eedb),url('../../bg.jpg') center/cover}.option-card{min-height:145px}.profile-hero{padding:24px}}
/* Clearer court photography with a deeper green / ivory surface balance. */
.account-chip{text-decoration:none;cursor:pointer}.account-chip:hover{color:#087c63;text-decoration:underline}
.player-card-layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:36px;align-items:center;margin-bottom:24px}.badminton-card{position:relative;overflow:hidden;padding:24px 24px 28px;border:2px solid #dcbf68;border-radius:34px 34px 70px 70px;background:radial-gradient(ellipse at 80% 15%,#ebdb8b66,transparent 55%),repeating-linear-gradient(140deg,#ffffff05 0 2px,transparent 2px 16px),linear-gradient(145deg,#0d4838,#062b25 65%,#0e6951);box-shadow:0 16px 35px #07352b40;color:#f9e7a7;text-align:center}.card-edition{font-size:9px;font-weight:750;letter-spacing:.15em;padding:8px 0;color:#ead28f}.player-card-top{display:flex;gap:18px;align-items:center;margin:15px 0}.overall-number{display:flex;flex-direction:column;min-width:66px}.overall-number strong{font-size:58px;line-height:1;font-weight:900}.overall-number span{font-size:13px;font-weight:800;letter-spacing:.12em}.player-portrait{height:146px;flex:1;display:grid;place-items:center;background:linear-gradient(140deg,#ffffff16,#b7e6cb1a);border-radius:24px;border:1px solid #edd18b55;overflow:hidden}.player-portrait img{width:100%;height:100%;object-fit:cover}.player-portrait>span{font-size:58px;font-weight:850}.badminton-card h2{font-size:27px;overflow-wrap:anywhere;margin:12px 0 5px;color:#fff0ba}.player-card-handle{font-size:12px;color:#d3e7d8}.player-card-numbers{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ddc67b66;border-bottom:1px solid #ddc67b66;margin:20px 0 12px;padding:15px 0;gap:8px}.player-card-numbers div{display:flex;flex-direction:column;gap:5px}.player-card-numbers strong{font-size:23px}.player-card-numbers span{font-size:10px;font-weight:700;letter-spacing:.07em}.player-card-about{padding:24px;border-radius:24px;background:linear-gradient(135deg,#f4fff7ee,#b8e0cfee)}.player-card-about small{font-size:10px;letter-spacing:.12em;color:#31654f}.player-card-about h2{font-size:32px;margin:12px 0}.player-card-about p{line-height:1.7;margin:12px 0;color:var(--muted)}.player-card-about .btn{margin:8px 5px 8px 0}.player-card-about details{margin-top:18px;font-size:13px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid h2{margin-bottom:20px}.settings-grid label{display:block;margin-top:16px;margin-bottom:8px}.settings-grid button{margin-top:16px}.settings-grid form{margin-top:14px}.settings-grid [role="status"]{margin-top:12px;font-size:13px}.password-settings{margin-top:22px}.settings-photo{width:96px;height:96px;object-fit:cover;border-radius:20px;margin:16px 0}.settings-grid #photo-form{border-top:1px solid var(--border);padding-top:22px;margin-top:26px}.rating-badge{font-size:10px;border-radius:7px;background:#dfefd7;padding:3px 6px;color:#145741;white-space:nowrap}
@media(max-width:700px){.player-card-layout{grid-template-columns:1fr;gap:18px}.badminton-card{max-width:330px;width:100%;justify-self:center}.player-card-about{padding:20px}.player-card-about h2{font-size:26px}.settings-grid{grid-template-columns:1fr}}
.profile-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.profile-metric{padding:17px 20px;gap:5px}.profile-metric strong{font-size:29px}.profile-metric span{font-size:13px}.profile-momentum .card-body{padding:18px 22px}.profile-momentum h2{font-size:20px;margin:6px 0 12px}.profile-momentum small{font-size:10px;letter-spacing:.07em;color:var(--muted)}.profile-momentum .form-pills{margin:12px 0;gap:7px}.profile-momentum .form-pill{width:34px;height:34px;border-radius:10px;font-size:13px}.profile-momentum p{font-size:13px;margin:7px 0}
@media(max-width:480px){.profile-metric{padding:14px 10px}.profile-metric strong{font-size:25px}.profile-metric span{font-size:11px}.profile-momentum .card-body{padding:16px}}
.sort-arrow{font-size:10px;line-height:1}
@media(max-width:700px){#leaderboard-view .table-sort{padding:5px 0;gap:1px;font-size:inherit;letter-spacing:0}#leaderboard-view th{font-size:10px;text-overflow:clip;letter-spacing:0}#leaderboard-view .sort-arrow{font-size:8px}}
.table-sort{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;border-radius:7px;padding:7px 5px;color:inherit;font:inherit;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .15s,transform .15s}.table-sort:hover{background:#c7e8d6;color:#075741}.table-sort:active{transform:translateY(2px)}th[aria-sort="ascending"],th[aria-sort="descending"]{background:#c4e7d3;color:#075741}
.home-heading{background:linear-gradient(115deg,#f6fff9,#d9f1e2 60%,#b7dfcb)}
body{background:linear-gradient(115deg,#b9ead56b,#f5f4e85c 58%,#064e3e66),url('../../bg.jpg') center/cover fixed}
.main-menu{background:linear-gradient(110deg,#fffffff0,#e0f5e9ed);backdrop-filter:none}
.card{background:linear-gradient(135deg,#fffdf6f5,#dbf2e6f2);border-color:#b9d9c9}
.card-header{background:linear-gradient(100deg,#d2efdf,#f5fbf6)}
.stat{background:linear-gradient(130deg,#f5fcf7,#c4e8d6);border-color:#9fcdb7}
.stat-featured{background:linear-gradient(125deg,#07523f,#13836a);border-color:#448d74}
.stat-featured .v{color:#efffba}.stat-featured .l{color:#d5f1e1}
.hero-card{background:linear-gradient(135deg,#074d3c,#15785c);color:#fff}
.hero-card .card-header{background:#ffffff0b}.hero-card .card-title,.hero-card .card-body,.hero-card .card-body>div:first-child{color:#eefbef!important}
.hero-pill{background:#ffffff17;color:#e8faee;border-color:#ffffff40}
.option-card,.option-card:nth-child(2),.option-card:nth-child(3),.option-card:nth-child(4){background:linear-gradient(140deg,#fafef9,#bfe5cf);border-color:#a9d0ba}
.option-card:nth-child(2n){background:linear-gradient(135deg,#075741,#19836a);color:#fff}.option-card:nth-child(2n) p,.option-card:nth-child(2n) span,.option-card:nth-child(2n):after{color:#d6f4df}
.fact-tile:nth-child(3n+2){background:linear-gradient(140deg,#d6f2df,#a9d6bd)}
.profile-metric:nth-child(3){background:linear-gradient(130deg,#075741,#13836a);color:#fff}.profile-metric:nth-child(3) strong{color:#efffba}.profile-metric:nth-child(3) span{color:#d5f1e1}
#account-context{display:none}
.account-signout{margin-top:7px;padding:9px 16px;border:1px solid #08735a;border-radius:10px;background:linear-gradient(115deg,#08664d,#13836a);font-size:13px;font-weight:700;color:#fff;box-shadow:0 4px 10px #07574120}
.account-signout:hover{color:#fff;text-decoration:none;background:#074f3c}
.btn,.tab,.nav-link,.option-card,.account-signout,.type-btn{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn:hover,.tab:hover,.nav-link:hover,.account-signout:hover{transform:translateY(-2px)}
.btn:active,.tab:active,.nav-link:active,.option-card:active,.account-signout:active,.type-btn:active{transform:translateY(2px) scale(.97);box-shadow:0 1px 3px #07574125}
@media(max-width:700px){body{background-attachment:scroll}.home-heading{background:linear-gradient(115deg,#f6fff9,#d9f1e2 60%,#b7dfcb)}}
@media(prefers-reduced-motion:reduce){.btn,.option-card,.tab,.nav-link,.account-signout,.type-btn{transition:none;transform:none!important}}

.player-profile-link{color:inherit;text-decoration:none;font-weight:700;border-bottom:1px dotted #13836b}.player-profile-link:hover{color:#087e65;border-bottom-style:solid}.shared-player-card{display:flex;flex-direction:column;align-items:center;padding:28px 0;gap:18px}.shared-player-card .badminton-card{width:min(100%,340px)}
.player-portrait{width:146px;height:146px;flex:none;aspect-ratio:1}.player-card-top{justify-content:center}#photo-crop-preview{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;border-radius:24px;border:2px solid #dcbf68;background:#0d4838;touch-action:none;cursor:grab}#photo-crop-preview:active{cursor:grabbing}#photo-crop-editor{margin-top:20px;padding:18px;border-radius:20px;background:linear-gradient(135deg,#ecfff4,#cfe9dc)}#photo-crop-editor input[type=range]{width:100%;accent-color:#087e65;padding:0;min-height:30px}

.fact-tile .streak-dates{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:8px}

.rating-provisional{display:block;font-size:9px;line-height:1.3;margin-top:5px;font-weight:600;opacity:.85}.overall-number .rating-provisional{max-width:70px}

.management-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 12px;border-radius:10px;background:#e2f3e9;color:#0c6552;text-decoration:none;font-size:13px;font-weight:700}.management-back span{font-size:19px;line-height:1}.management-back:hover{background:#c8e9d9}.management-back:active{transform:translateY(1px)}
.profile-section-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.achievement-summary{display:flex;align-items:center;gap:20px;padding:24px;border-radius:24px;background:linear-gradient(120deg,#0d4838,#13856b);color:#fff;margin-bottom:24px}.achievement-summary strong{font-size:24px}.achievement-summary p{margin-top:7px;color:#daf3e5;font-size:13px}.achievement-summary-icon{font-size:40px}.achievement-summary progress{margin-left:auto;width:180px}.achievements-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.achievement-tile{padding:22px;border:1px solid #c9dfd4;border-radius:22px;background:linear-gradient(145deg,#fafffc,#edf6f0);box-shadow:0 6px 18px #123e2410}.achievement-tile.is-earned{background:linear-gradient(140deg,#faffed,#d9efd8);border-color:#9dbd6d}.achievement-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.achievement-medal{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,#dfeee7,#f8fffb);font-size:30px;border:2px solid #c3d9ce}.is-earned .achievement-medal{background:linear-gradient(140deg,#fff0ad,#dfbf64);border-color:#d1ad45;box-shadow:0 4px 12px #ac841d22}.achievement-status{font-size:10px;font-weight:750;color:#527067}.is-earned .achievement-status{color:#167047}.achievement-tile h2{font-size:18px;margin:18px 0 8px;color:#123f32}.achievement-tile>p{font-size:13px;line-height:1.6;min-height:42px;color:#526c61}.achievement-progress-label{display:flex;justify-content:space-between;margin:18px 0 8px;font-size:11px;color:#456458}.achievement-tile progress,.achievement-summary progress{height:8px;border:none;border-radius:20px;overflow:hidden;accent-color:#14876a}.achievement-tile progress{width:100%}progress::-webkit-progress-bar{background:#d6e6dc;border-radius:20px}progress::-webkit-progress-value{background:#14876a;border-radius:20px}progress::-moz-progress-bar{background:#14876a;border-radius:20px}.achievement-note{margin:24px 0;line-height:1.7}@media(max-width:1050px){.achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-summary{flex-wrap:wrap}.achievement-summary progress{width:100%;margin:0}}@media(max-width:420px){.achievement-tile{padding:16px}.achievement-medal{width:48px;height:48px;font-size:25px}.achievement-top{flex-wrap:wrap}.achievement-tile h2{font-size:16px}}

.achievement-levels{display:flex;gap:6px;margin:10px 0;color:#91a89a;font-size:22px}.achievement-levels .is-complete{color:#aa7918}.achievement-goals{font-size:11px;color:#456458;margin:10px 0}.achievement-goals summary{cursor:pointer}.achievement-goals ol{padding-left:20px;line-height:1.8;margin-top:8px}

.achievement-earned-levels{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.achievement-earned-levels small{width:100%;font-size:9px;letter-spacing:.06em;color:#587467}.achievement-earned-levels span{font-size:10px;line-height:1.5;background:#e0eed7;color:#35632c;border-radius:7px;padding:4px 7px}

.profile-edit-only{grid-template-columns:minmax(0,640px)}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.account-menu summary::-webkit-details-marker{display:none}.account-dropdown{position:absolute;right:0;top:calc(100% + 10px);min-width:160px;background:#f7fff9;border:1px solid #c6ddce;border-radius:14px;padding:8px;box-shadow:0 12px 28px #0a392a25;z-index:100}.account-dropdown a,.account-dropdown button{display:block;width:100%;text-align:left;border:0;background:none;padding:12px;border-radius:8px;font:inherit;font-size:14px;font-weight:650;color:#155541;text-decoration:none;cursor:pointer}.account-dropdown a:hover,.account-dropdown button:hover{background:#deeee3}.account-dropdown #account-logout{color:#99482f}.account-dropdown [hidden]{display:none!important}
/* Modern type and restrained interaction motion. */
:root{--font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--font-display:'Space Grotesk','Manrope',system-ui,sans-serif}
body{font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,.card-title,.app-logo,.overall-number strong,.player-card-numbers strong{font-family:var(--font-display);letter-spacing:-.035em;line-height:1.2}
h1{font-weight:700}h2,h3{font-weight:600}.card-title{font-size:23px}.home-heading h1{font-weight:700;letter-spacing:-.045em}.home-heading p{font-size:17px;line-height:1.75}.app-logo{font-weight:700;letter-spacing:-.035em}.app-logo span{font-family:var(--font-body);letter-spacing:.22em}
.section-sub,.note,.small{line-height:1.65}.section-sub{font-size:13px}th{font-size:11px;letter-spacing:.045em}td{font-variant-numeric:tabular-nums}input,select,textarea{font-size:15px}label{font-weight:650}.btn,.tab,.nav-link{font-weight:750;letter-spacing:-.015em}
.btn,.tab,.nav-link,.management-back,.achievement-tile,.option-card,.competition-card,.fact-tile{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.btn:focus-visible,.tab:focus-visible,.nav-link:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #25ab83;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #25ab8380;outline-offset:2px;box-shadow:0 0 0 4px #25ab8312}
@media(hover:hover){.option-card:hover,.competition-card:hover{transform:translateY(-4px);border-color:#7cbaa0;box-shadow:0 16px 32px #174e3020}.achievement-tile:hover,.fact-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px #174e3018}.player-profile-link:hover{color:#078161}}
.view.active,#competition-home:not([hidden]),#competition-detail:not([hidden]),#profile-view:not([hidden]),#members-view:not([hidden]),#join-view:not([hidden]),#competition-create:not([hidden]){animation:toli-enter .24s ease-out both}
.account-menu[open] .account-dropdown{animation:toli-menu .16s ease-out both}.achievement-tile .achievement-medal{transition:transform .25s ease}@media(hover:hover){.achievement-tile:hover .achievement-medal{transform:rotate(-6deg) scale(1.06)}}
@keyframes toli-enter{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toli-menu{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){input,select,textarea{font-size:16px}.card-title{font-size:21px}body{line-height:1.55}.btn,.tab{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:hover,.tab:hover,.nav-link:hover,.achievement-tile:hover,.option-card:hover,.competition-card:hover,.fact-tile:hover,.achievement-tile:hover .achievement-medal{transform:none}}

/* Header decoration must never intercept management-button clicks. */
.topbar::before,.topbar::after{pointer-events:none}

.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.achievement-tile{display:flex;align-items:flex-start;gap:16px;padding:18px}.achievement-medal{flex-shrink:0;width:52px;height:52px;font-size:26px}.achievement-content{flex:1;min-width:0}.achievement-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.achievement-title-row h2{margin:0;font-size:17px}.achievement-status{white-space:nowrap}.achievement-content>p{font-size:12px;line-height:1.5;margin:8px 0;color:#526c61}.achievement-progress-label{margin:10px 0 5px}.achievement-content progress{width:100%}.achievement-goals{margin:8px 0 0}.achievement-summary{padding:16px 20px;gap:14px}.achievement-summary strong{font-size:18px}@media(max-width:850px){.achievements-grid{grid-template-columns:1fr}}@media(max-width:420px){.achievement-tile{padding:14px;gap:12px}.achievement-title-row{align-items:flex-start;flex-wrap:wrap;gap:4px}.achievement-title-row h2{font-size:16px}}
/* Compact horizontal court highlights, with unrestricted wrapping for names and dates. */
.personal-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact-tile{flex-direction:row;align-items:flex-start;padding:18px 20px;gap:16px}.fact-tile .fact-icon{flex-shrink:0;width:44px;height:44px;margin-top:2px}.fact-content{flex:1;min-width:0}.fact-content h3{font-size:16px;line-height:1.35;margin:0 0 4px}.fact-content>small{display:block;font-size:10px;letter-spacing:.045em;line-height:1.5}.fact-detail{margin-top:9px}.fact-detail>strong{display:block;font-family:var(--font-display);font-size:22px;font-weight:650;line-height:1.25;color:#146247;overflow-wrap:anywhere}.fact-detail p{font-size:12px;line-height:1.5;margin:4px 0 0}.fact-detail .streak-dates{margin-top:7px;letter-spacing:0;font-weight:600}.fact-tile:last-child:nth-child(odd){grid-column:1 / -1}@media(max-width:700px){.personal-facts-grid{grid-template-columns:1fr}.fact-tile{padding:16px;gap:13px}.fact-tile:last-child:nth-child(odd){grid-column:auto}.fact-content h3{font-size:15px}.fact-detail>strong{font-size:21px}}
/* Phone highlights: heading and result share a row; supporting details remain visible. */
@media(max-width:700px){
 .personal-highlights{margin:20px 0}.personal-facts-grid{gap:8px;margin-bottom:10px}
 .personal-facts-grid .fact-tile{padding:12px;gap:10px;border-radius:16px;min-height:0;align-items:center}
 .personal-facts-grid .fact-icon{width:32px;height:32px;font-size:19px;border-radius:9px;margin:0}
 .fact-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);column-gap:10px;row-gap:3px;align-items:center}
 .fact-content h3{grid-column:1;grid-row:1;font-size:13px;line-height:1.3;margin:0}
 .fact-content>small{grid-column:1;grid-row:2;font-size:10px;line-height:1.35;letter-spacing:0;font-weight:600}
 .fact-detail{display:contents}
 .fact-detail>strong{grid-column:2;grid-row:1 / 3;max-width:130px;font-size:18px;line-height:1.25;text-align:right;overflow-wrap:anywhere}
 .fact-detail>p{grid-column:1 / -1;font-size:11px;line-height:1.4;margin:3px 0 0}
 .fact-detail .streak-dates{grid-column:1 / -1;font-size:10px;line-height:1.4;letter-spacing:0;margin:2px 0 0}
}
@media(max-width:360px){.fact-detail>strong{max-width:105px;font-size:16px}.fact-content{column-gap:7px}.personal-facts-grid .fact-tile{padding:10px;gap:8px}}

/* Give the profile's main actions priority, with deeper records on demand. */
.skill-level-editor{border-top:1px solid var(--border);padding-top:18px}.skill-level-editor .note{margin-top:10px;font-size:12px}.skill-level-editor button:disabled{opacity:.55;cursor:not-allowed}
.player-image-dialog{margin:auto;width:min(460px,calc(100% - 24px));max-height:92dvh;overflow:auto;padding:20px;border:1px solid #a6cdb7;border-radius:22px;background:linear-gradient(140deg,#f8fff9,#d9efdf);color:#123f32}.player-image-dialog::backdrop{background:#103a3266;backdrop-filter:blur(4px)}.player-image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.player-image-heading h2{font-size:21px}.player-image-dialog [data-status]{font-size:13px;margin:12px 0}.player-image-dialog [data-preview]{display:block;width:min(100%,300px);height:auto;margin:12px auto}.player-image-dialog [hidden]{display:none!important}.player-image-dialog .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
body:has(#profile-view:not([hidden])){background-image:radial-gradient(ellipse at top left,#c6ead6,transparent 65%),linear-gradient(135deg,#f5faf4,#deeee3);background-color:#e6f1e8}
.player-card-layout{gap:20px;grid-template-columns:minmax(240px,290px) 1fr;margin-bottom:14px}
.player-card-layout .badminton-card{padding:14px 18px 18px;border-radius:24px 24px 44px 44px}
.player-card-layout .player-card-top{margin:9px 0;gap:14px}
.player-card-layout .player-portrait{width:108px;height:108px;border-radius:18px}
.player-card-layout .overall-number strong{font-size:48px}
.player-card-layout .badminton-card h2{font-size:24px;margin-top:8px}
.player-card-layout .player-card-numbers{margin:12px 0 6px;padding:10px 0}
.player-card-about{padding:20px}.player-card-about h2{font-size:26px;margin:8px 0}
.profile-momentum .card-body{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:12px 16px}
.profile-momentum small{display:none}.profile-momentum h2,.profile-momentum p,.profile-momentum .form-pills{margin:0}
.profile-momentum .form-pill{width:28px;height:28px;border-radius:8px;font-size:12px}
.profile-competitions{margin:20px 0}.profile-competitions .card-body{padding:14px 16px}
.profile-competitions h3{margin:8px 0}.profile-competitions p{margin:0 0 8px;font-size:12px}
.personal-highlights .detail-heading{margin-bottom:12px}.personal-highlights h2{font-size:22px}
.personal-facts-grid .fact-tile{padding:14px;gap:12px}.fact-content h3{font-size:14px}
.fact-detail>strong{font-size:20px}.fact-detail{margin-top:6px}
.profile-records{padding:14px 16px;margin:10px 0;background:linear-gradient(130deg,#f6fff9,#ddf1e4)}
.profile-records>summary{cursor:pointer;font-weight:700;font-size:14px}
.profile-records>summary span{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:3px}
.profile-records[open]>summary{margin-bottom:14px}.profile-records .card-body{padding:14px}
.profile-records .connection-tables h3{font-size:16px;margin-bottom:8px}
.profile-records .format-record{padding:12px}.profile-records .format-record p{font-size:12px;margin:8px 0}
.achievement-tile{padding:14px;gap:12px}.achievement-medal{width:42px;height:42px;font-size:23px}
.achievement-content>p{margin:5px 0}.achievement-title-row h2{font-size:16px}
.home-heading{padding:24px 28px;margin-bottom:18px}.home-heading h1{font-size:clamp(28px,4vw,42px)}
.home-heading p{font-size:14px;margin:8px 0 0}
@media(max-width:700px){.player-card-layout{grid-template-columns:1fr;gap:12px}.player-card-layout .badminton-card{max-width:290px}.player-card-about{padding:14px}.player-card-about h2{font-size:21px}.player-card-about>small,.player-card-about>p{display:none}.player-card-about .btn{font-size:12px;padding:10px 12px;margin:4px 3px 4px 0}.player-card-about details{margin-top:10px;font-size:12px}.profile-momentum .card-body{gap:8px 12px}.profile-momentum h2{font-size:16px}.profile-momentum p{font-size:11px}.profile-momentum .form-pills{gap:4px}.profile-momentum .form-pill{width:24px;height:24px}.profile-competitions h2,.personal-highlights h2{font-size:20px}.home-heading{padding:20px}.personal-facts-grid .fact-tile{padding:11px}}
