:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f7f5;background:#0e1012;line-height:1.45}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#1a1d21 0,#0e1012 38%);min-height:100vh}
button,input,select{font:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px max(16px,env(safe-area-inset-left));border-bottom:1px solid #2a2e33;position:sticky;top:0;background:rgba(14,16,18,.92);backdrop-filter:blur(14px);z-index:10}
h1,h2,h3,p{margin-top:0}h1{font-size:22px;margin-bottom:0}.eyebrow{font-size:11px;letter-spacing:.15em;color:#a0a7af;font-weight:800}
.shell{max-width:980px;margin:0 auto;padding:24px 16px 80px}.panel{background:#171a1e;border:1px solid #292d33;border-radius:18px;padding:20px;box-shadow:0 14px 35px rgba(0,0,0,.18);margin-bottom:16px}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;font-size:13px;color:#c8cdd3}input,select{width:100%;padding:12px 13px;background:#0f1114;border:1px solid #333941;color:#fff;border-radius:10px}
.primary,.ghost,.tabs button{border:0;border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}.primary{background:#f0b54b;color:#101214;margin-top:16px}.ghost{background:#252a30;color:#fff}.danger{color:#ff9d9d}
.hero{display:flex;justify-content:space-between;align-items:center}.heroScore{display:grid;text-align:right}.heroScore strong{font-size:40px;line-height:1}.heroScore small,.heroScore span,.muted{color:#9ca3ab}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.tabs button{background:#171a1e;color:#aeb4bb;border:1px solid #292d33}.tabs button.active{background:#f0b54b;color:#101214}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric,.meetStats article{background:#101317;border:1px solid #292d33;border-radius:14px;padding:16px;display:grid;gap:2px}.metric span,.meetStats span{font-size:12px;color:#9ca3ab}.metric strong{font-size:28px}
.subpanel{margin-top:16px;padding:16px;border-radius:14px;background:#101317;border:1px solid #292d33}.snapshot{display:grid;gap:8px}
.liftGroup{margin:18px 0}.liftGroup h3{text-transform:capitalize}.attemptRow{display:grid;grid-template-columns:110px 1fr 130px;gap:10px;align-items:center;margin:8px 0}.attemptRow input{min-width:0}.attemptActions{display:flex;gap:6px}.attemptActions button{flex:1;padding:9px;border:1px solid #333941;border-radius:9px;background:#111418;color:#fff}.attemptActions button.good.active{background:#183c28;border-color:#2f8553}.attemptActions button.miss.active{background:#442020;border-color:#9d4242}
.plannerSummary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid #292d33;margin-top:10px}.plannerSummary strong{font-size:24px}
.meetHeader{display:flex;justify-content:space-between;gap:12px}.meetStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.meetStats strong{font-size:24px}
.reportCard{background:#101317;border:1px solid #292d33;border-radius:14px;padding:18px;margin:12px 0}.reportGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reportGrid div{background:#171a1e;padding:12px;border-radius:10px}.reportGrid span{display:block;font-size:12px;color:#9ca3ab}.reportGrid strong{font-size:22px}
footer{text-align:center;color:#737b84;padding:24px}
@media(max-width:720px){.grid.two,.cards{grid-template-columns:1fr 1fr}.tabs{grid-template-columns:1fr 1fr}.attemptRow{grid-template-columns:76px 1fr}.attemptActions{grid-column:1/-1}.meetStats{grid-template-columns:1fr}.hero{align-items:flex-start}.heroScore strong{font-size:32px}.reportGrid{grid-template-columns:1fr}}
@media(max-width:420px){.grid.two,.cards{grid-template-columns:1fr}.topbar{padding:14px 16px}.shell{padding:16px 12px 70px}.panel{padding:16px;border-radius:15px}}
.heroScores{display:flex;gap:28px;align-items:flex-start}.heroScores .heroScore{min-width:110px}
.tabs{grid-template-columns:repeat(5,1fr)}
.progressHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.importBox{margin:16px 0;padding:16px;background:#101317;border:1px dashed #3a414a;border-radius:14px}.fileLabel{display:block;font-weight:800;color:#f7f7f5}.fileLabel input{margin-top:8px}
.progressCards{margin:16px 0}.chartGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chartGrid .subpanel{margin-top:0}.chartBox{min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.chartBox svg{width:100%;height:220px}.chartEmpty{color:#7d858e;text-align:center;padding:50px 10px}.chartAxis{stroke:#3a4047;stroke-width:1}.chartLine{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chartDot{fill:#f0b54b;stroke:#101214;stroke-width:2}.chartLabel{fill:#9ca3ab;font-size:10px}
.historyWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.historyTable{width:100%;border-collapse:collapse;min-width:820px}.historyTable th,.historyTable td{padding:10px 9px;border-bottom:1px solid #292d33;text-align:right;white-space:nowrap}.historyTable th:first-child,.historyTable td:first-child,.historyTable th:nth-child(2),.historyTable td:nth-child(2){text-align:left}.historyTable th{font-size:11px;color:#9ca3ab;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:720px){.tabs{grid-template-columns:1fr 1fr}.chartGrid{grid-template-columns:1fr}.progressHead{display:block}.progressHead .ghost{margin-bottom:12px}.heroScores{gap:14px}.heroScores .heroScore{min-width:90px}}

.oplLookup{margin:18px 0;padding:16px;background:#101317;border:1px solid #2f353d;border-radius:14px}
.oplLookup p{margin:3px 0 12px}.lookupRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.compact{margin-top:0;white-space:nowrap}.small{font-size:12px;margin-top:8px}.orDivider{display:flex;align-items:center;gap:12px;color:#727a83;font-size:12px;margin:18px 0}.orDivider:before,.orDivider:after{content:"";height:1px;background:#2a2e33;flex:1}.advancedImport{margin-top:14px;border-top:1px solid #2a2e33;padding-top:12px}.advancedImport summary{cursor:pointer;color:#aeb4bb;font-weight:700}.advancedImport .fileLabel{margin-top:12px}
@media(max-width:620px){.lookupRow{grid-template-columns:1fr}.lookupRow .primary{width:100%}}

.tabs{grid-template-columns:repeat(6,1fr)}
.candidateList{display:grid;gap:8px;margin-top:10px}.candidateCard{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid #30363d;border-radius:10px;background:#121519}.candidateCard strong{display:block}.candidateCard small{color:#8f98a1}.candidateCard button{margin:0}
.toolGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.toolCard{background:#101317;border:1px solid #292d33;border-radius:14px;padding:16px}.toolCard:first-child{grid-column:1/-1}.toolResult,.contextResult{margin-top:14px;padding:14px;border-radius:10px;background:#171a1e;border:1px solid #2d3238}.contextHero{display:flex;justify-content:space-between;gap:14px;align-items:flex-end}.contextHero strong{font-size:30px}.contextMeta{color:#9ca3ab;font-size:12px}.contextScale{height:10px;background:#262b31;border-radius:999px;overflow:hidden;margin:12px 0}.contextScale span{display:block;height:100%;background:currentColor;opacity:.65}
.toolResult strong.big{font-size:28px;display:block;margin:3px 0}.toolCompare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.toolCompare div{background:#101317;border:1px solid #292d33;border-radius:10px;padding:12px}.toolCompare span{font-size:12px;color:#9ca3ab;display:block}
@media(max-width:720px){.tabs{grid-template-columns:1fr 1fr}.toolGrid{grid-template-columns:1fr}.toolCard:first-child{grid-column:auto}}

.topActions{display:flex;align-items:center;gap:10px}
.cloudBadge{font-size:12px;font-weight:800;color:#9ca3ab;background:#20252b;border:1px solid #30363d;border-radius:999px;padding:7px 10px;white-space:nowrap}
.cloudBadge.active{color:#f0b54b;border-color:#6c5425}
.dashboardGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dashboardGrid .subpanel{margin-top:16px}
.goalProgress{height:10px;background:#272c32;border-radius:999px;overflow:hidden;margin:12px 0}
.goalProgress span{display:block;height:100%;background:#f0b54b;border-radius:999px}
.meetPicker{margin-bottom:18px}
.buttonRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.buttonRow .primary,.buttonRow .ghost{margin-top:0}
.accountBox{max-width:680px;background:#101317;border:1px solid #292d33;border-radius:14px;padding:18px;margin-top:18px}
.accountBox label{max-width:480px}
.accountBox #codeStep{margin-top:16px}
#reportStatus,#cloudStatus,#accountStatus{margin-top:12px}
.tabs{grid-template-columns:repeat(7,1fr)}
@media(max-width:820px){.tabs{grid-template-columns:repeat(2,1fr)}.dashboardGrid{grid-template-columns:1fr}}
@media(max-width:520px){.topbar{align-items:flex-start}.topActions{flex-direction:column;align-items:flex-end}.buttonRow{display:grid;grid-template-columns:1fr}.buttonRow button{width:100%}}

.settingsCard{max-width:680px;background:#101317;border:1px solid #292d33;border-radius:14px;padding:18px;margin-top:18px}
.settingsCard label{max-width:420px}
.settingsCard p{margin:12px 0 0}
.tabs{grid-template-columns:repeat(8,1fr)}
@media(max-width:920px){.tabs{grid-template-columns:repeat(2,1fr)}}

.meetFinder{margin-bottom:18px}.finderHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.finderHead p{margin:4px 0 0}.finderSearch{margin:12px 0}
.scopeChips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.scopeChips button{border:1px solid #343a42;background:#111418;color:#c8cdd3;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.scopeChips button.active{background:#f0b54b;color:#101214;border-color:#f0b54b}
.finderFilters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.competitionResults{display:grid;gap:10px;margin-top:14px}.competitionCard{background:#111418;border:1px solid #2d3238;border-radius:14px;padding:15px}.competitionTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.competitionCard h4{margin:0 0 4px;font-size:16px}.competitionPlace{color:#c4c9cf}.competitionVenue,.competitionMeta{font-size:12px;color:#8f98a1;margin-top:7px}.distanceBadge{white-space:nowrap;background:#20262c;border:1px solid #343b43;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;color:#f0b54b}
.competitionActions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:12px}.linkButton{text-decoration:none;display:inline-flex;align-items:center}.selectedMeet{border:1px solid #6b572e;background:#2d2719;color:#f0b54b;border-radius:10px;padding:10px 13px;font-weight:800}.finderEmpty{padding:22px;text-align:center;color:#8f98a1;border:1px dashed #343a42;border-radius:12px}
@media(max-width:720px){.finderFilters{grid-template-columns:1fr}.finderHead{display:block}.finderHead .ghost{margin-top:10px}.competitionTop{gap:8px}.competitionActions{justify-content:stretch}.competitionActions>*{flex:1;justify-content:center;text-align:center}}


/* =========================================================
   v0.9 UI/UX refresh — mobile-first performance product
   ========================================================= */
:root{
  --bg:#0b0d0f;
  --surface:#121518;
  --surface-2:#171b1f;
  --surface-3:#1d2227;
  --line:#252b31;
  --line-strong:#343b43;
  --text:#f4f5f3;
  --muted:#929aa3;
  --accent:#d8a94a;
  --accent-soft:rgba(216,169,74,.12);
  --success:#48b77a;
  --danger:#e26d6d;
  --radius-lg:22px;
  --radius-md:15px;
  --shadow:0 18px 55px rgba(0,0,0,.24);
  color:var(--text);
  background:var(--bg);
}

html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 50% -12%,rgba(216,169,74,.08),transparent 28%),
    linear-gradient(180deg,#0c0f11 0%,var(--bg) 52%);
  color:var(--text);
}
button,input,select{transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
button:active{transform:scale(.985)}
h1,h2,h3{letter-spacing:-.025em}
h2{font-size:clamp(22px,4vw,30px)}
h3{font-size:17px}
.muted{color:var(--muted)}
.eyebrow{color:#8c949d;font-size:10px;letter-spacing:.18em}

.topbar{
  min-height:72px;
  padding:13px max(18px,calc((100vw - 1120px)/2));
  background:rgba(11,13,15,.86);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(125%);
}
.topbar h1{font-size:19px;font-weight:800}
.brandLockup{display:flex;align-items:center;gap:11px}
.brandMark{width:40px;height:40px;display:block;flex:none}
.compactTop{padding:8px 11px;border-radius:999px}
.cloudBadge{background:transparent;border-color:var(--line);font-size:11px}
.cloudBadge.active{background:var(--accent-soft);color:#e4bd6f;border-color:#554523}

.shell{max-width:1120px;padding:28px 18px 110px}
.panel{
  background:linear-gradient(180deg,rgba(21,24,28,.98),rgba(17,20,23,.98));
  border:1px solid rgba(255,255,255,.07);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:24px;
}
.heroPanel{
  min-height:152px;
  background:
    radial-gradient(circle at 82% 30%,rgba(216,169,74,.11),transparent 34%),
    linear-gradient(145deg,#171b1e,#111416);
  overflow:hidden;
}
.heroIntro h2{font-size:clamp(27px,5vw,42px);margin:5px 0 6px}
.heroScores{gap:12px}
.heroScore{
  text-align:left;min-width:132px;padding:14px 16px;border-radius:16px;
  background:rgba(8,10,12,.42);border:1px solid rgba(255,255,255,.07)
}
.heroScore strong{font-size:34px}
.heroScore span{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.heroScore small{font-size:11px}

.primaryNav{
  display:grid!important;grid-template-columns:repeat(5,1fr)!important;
  gap:7px;margin:0 0 10px;padding:6px;
  background:#101316;border:1px solid var(--line);border-radius:17px;
}
.primaryNav button{
  min-height:55px;padding:8px 9px;background:transparent;border:0!important;
  border-radius:12px;color:#9aa2aa;display:flex;gap:7px;align-items:center;
  justify-content:center;
}
.primaryNav button.active{background:#20252a;color:#fff;box-shadow:inset 0 0 0 1px #343b43}
.primaryNav button.active .navIcon{color:var(--accent)}
.navIcon{font-size:17px;line-height:1;color:#747d86}

.utilityNav{display:flex;justify-content:flex-end;gap:4px;margin:0 0 16px}
.utilityNav button{
  background:transparent;color:#7f8790;border:0;padding:7px 9px;border-radius:9px;
  font-size:12px;font-weight:700;cursor:pointer
}
.utilityNav button.active{color:#fff;background:#1a1e22}

.dashboardPanel{padding-top:20px}
.sectionLead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}
.sectionLead h2{margin:3px 0 0;font-size:20px}
.metricStrip{gap:10px}
.metric{
  padding:15px 16px;background:#101316;border:1px solid var(--line);
  border-radius:15px;min-height:94px;justify-content:center
}
.metric strong{font-size:30px;letter-spacing:-.045em}
.metric span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#858e97}
.dashboardGrid{gap:10px}
.dashboardPanel #editProfile{display:inline-flex;margin-top:20px}
.subpanel{
  background:#101316;border:1px solid var(--line);border-radius:16px;
  box-shadow:none;padding:17px
}
.subpanel h3{margin-bottom:10px}
.goalProgress{height:7px;background:#272c30}
.goalProgress span{background:linear-gradient(90deg,#a8792d,var(--accent))}

input,select{
  min-height:46px;background:#0d1012;border:1px solid #2b3137;
  border-radius:12px;padding:11px 13px
}
input:focus,select:focus{outline:none;border-color:#6a5730;box-shadow:0 0 0 3px rgba(216,169,74,.08)}
.primary{
  background:var(--accent);color:#111316;border-radius:12px;
  box-shadow:none
}
.primary:hover{background:#e2b85f}
.ghost{background:#20252a;border:1px solid #2d343b;color:#eef0ee}
.danger{color:#ef9999}

.meetFinder{
  padding:18px;border-radius:18px;background:
    linear-gradient(180deg,#111519,#0e1114);
}
.finderHead h3{font-size:20px;margin-bottom:2px}
.finderSearch{
  min-height:52px;font-size:15px;padding-left:15px;
  background:#0a0d0f;border-color:#30363d
}
.scopeChips{gap:7px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.scopeChips::-webkit-scrollbar{display:none}
.scopeChips button{flex:0 0 auto;padding:9px 13px;background:#171b1f;border-color:#2b3137}
.scopeChips button.active{background:var(--accent-soft);color:#e6bd6d;border-color:#685226}
.finderFilters{gap:8px}
.finderFilters label span{font-size:11px;color:#7f8891;text-transform:uppercase;letter-spacing:.06em}
.competitionResults{gap:8px}
.competitionCard{
  padding:16px 17px;background:#121619;border:1px solid #272e34;
  border-radius:16px;position:relative
}
.competitionCard:hover{border-color:#3a424a}
.competitionCard h4{font-size:17px;line-height:1.25}
.competitionPlace{font-weight:700;color:#dce0dc}
.competitionVenue,.competitionMeta{color:#818a93}
.distanceBadge{background:var(--accent-soft);border-color:#574721;color:#e6bd6d}
.competitionActions{border-top:1px solid #242a30;padding-top:11px}
.competitionActions .primary{margin-top:0}
.selectedMeet{background:#221e15;border-color:#594823;color:#e7be6c}

.liftGroup{
  padding:15px 16px;border:1px solid var(--line);border-radius:16px;
  background:#101316;margin:11px 0
}
.liftGroup h3{margin-bottom:10px}
.attemptRow{padding:6px 0;margin:0;border-top:1px solid rgba(255,255,255,.045)}
.attemptRow:first-of-type{border-top:0}
.attemptActions button{background:#171b1f;border-color:#2b3238}
.attemptActions button.good.active{background:rgba(72,183,122,.14);border-color:#32724e;color:#85d5a9}
.attemptActions button.miss.active{background:rgba(226,109,109,.12);border-color:#764040;color:#ef9b9b}

.chartBox{background:linear-gradient(180deg,#101316,#0d1012);border-radius:12px}
.chartDot{fill:var(--accent)}
.historyTable th{color:#747e87}
.historyTable td{color:#d8dcda}
.reportCard,.accountBox,.settingsCard,.toolCard,.importBox,.oplLookup{
  background:#101316;border-color:var(--line);border-radius:16px
}
.toolResult,.contextResult,.toolCompare div{background:#15191d;border-color:var(--line)}

@media(max-width:760px){
  .shell{padding:18px 12px 108px}
  .panel{padding:17px;border-radius:18px}
  .heroPanel{min-height:auto;display:grid;gap:16px}
  .heroScores{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .heroScore{min-width:0}
  .heroScore strong{font-size:30px}
  .metricStrip{grid-template-columns:repeat(2,1fr)!important}
  .dashboardGrid{grid-template-columns:1fr}
  .utilityNav{justify-content:center;margin-bottom:12px}
  .finderFilters{grid-template-columns:1fr 1fr}
  .finderFilters label:last-child{grid-column:1/-1}

  .primaryNav{
    position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));
    z-index:50;margin:0;grid-template-columns:repeat(5,1fr)!important;
    background:rgba(15,18,21,.94);backdrop-filter:blur(20px);
    box-shadow:0 14px 44px rgba(0,0,0,.45);border-color:#30363c
  }
  .primaryNav button{
    min-width:0;min-height:56px;display:grid;gap:1px;
    place-items:center;padding:6px 2px;font-size:10px;font-weight:700
  }
  .primaryNav .navIcon{font-size:18px}
  .utilityNav{
    position:relative;background:transparent;border:0;padding:0
  }
}
@media(max-width:520px){
  .topbar{min-height:64px;padding:11px 14px}
  .brandMark{width:34px;height:34px}
  .topbar .eyebrow{display:none}
  .topbar h1{font-size:17px}
  .cloudBadge{max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .metricStrip{gap:8px}
  .metric{min-height:82px;padding:12px}
  .metric strong{font-size:26px}
  .finderHead .ghost{width:100%;margin-top:10px}
  .finderFilters{grid-template-columns:1fr}
  .finderFilters label:last-child{grid-column:auto}
  .competitionTop{display:grid}
  .distanceBadge{width:max-content}
  .competitionActions{display:grid;grid-template-columns:1fr 1fr}
}

/* v0.10 WUAP scoring */
.heroScores{flex-wrap:wrap;justify-content:flex-end}
.heroScores .heroScore{min-width:116px}
@media(max-width:760px){.heroScores{grid-template-columns:repeat(2,1fr)}}

/* Account sign-in: explicit field, action and feedback spacing. */
[hidden]{display:none!important}
#tab-account>p{max-width:690px;line-height:1.65}
.authCard{max-width:540px;padding:clamp(20px,4vw,30px);margin-top:18px}
.authCard h3{font-size:20px;margin-bottom:6px}
.authCard>p{line-height:1.55;margin-bottom:22px}
.authForm{display:grid;gap:18px;margin-top:18px}
.authForm label{max-width:none;gap:9px;font-size:13px;font-weight:700}
.authForm input{min-height:50px}
.authForm .authCta{margin-top:5px;min-height:50px;width:100%}
.authStatus{min-height:1.3em;margin-top:16px;font-size:13px;line-height:1.5;color:#d9ad54}
.accountTopCta{box-shadow:0 0 0 1px rgba(217,173,84,.2),0 8px 24px rgba(0,0,0,.18)}
.accountDiscoveryCard{
  margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:18px 20px;border:1px solid rgba(217,173,84,.28);border-radius:16px;
  background:linear-gradient(135deg,rgba(217,173,84,.10),rgba(24,29,33,.94) 46%,rgba(16,19,23,.98));
  box-shadow:0 14px 34px rgba(0,0,0,.16)
}
.accountDiscoveryCard>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;min-width:0}
.accountDiscoveryIcon{
  grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:rgba(217,173,84,.14);border:1px solid rgba(217,173,84,.30);color:#e4bb6d;font-size:18px
}
.accountDiscoveryCard strong{font-size:15px;color:#f3f4f2}
.accountDiscoveryCard p{grid-column:2;margin:4px 0 0;color:#aeb7bc;font-size:13px;line-height:1.5}
.accountDiscoveryButton{white-space:nowrap;margin:0}
.accountDiscoveryActions{display:flex!important;grid-template-columns:none!important;gap:9px;align-items:center!important;flex:0 0 auto}
.accountDiscoveryActions button{white-space:nowrap;margin:0}
.dashboardAccountPromo{margin-top:20px}
.onboardingAccountCard{margin-top:18px}
.googleChoice{
  padding:18px;border-radius:15px;border:1px solid rgba(217,173,84,.25);
  background:linear-gradient(180deg,rgba(217,173,84,.08),rgba(17,21,25,.72))
}
.googleChoiceCopy{margin-bottom:14px}
.googleChoiceCopy h3{margin:6px 0 5px;font-size:18px}
.googleChoiceCopy p{margin:0!important}
.googleChoiceBadge{
  display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;
  background:rgba(217,173,84,.14);border:1px solid rgba(217,173,84,.28);color:#e7be70;
  font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase
}
.googleSignInBlock{display:grid;gap:8px;justify-items:center}
#googleSignInButton{min-height:44px;width:100%;display:flex;align-items:center;justify-content:center}
#googleSignInButton>div,#googleSignInButton iframe{max-width:100%!important}
#googleStatus{width:100%}
#googleStatus:empty{display:none}
@media(max-width:680px){
  .accountDiscoveryCard{align-items:stretch;flex-direction:column;padding:16px}
  .accountDiscoveryActions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%}
  .accountDiscoveryActions button,.accountDiscoveryButton{width:100%}
  .accountTopCta{display:none}
}
@media(max-width:420px){.accountDiscoveryActions{grid-template-columns:1fr!important}}
.socialStack{display:grid;gap:10px}
.socialButton{min-height:48px;border:1px solid #3c454c;border-radius:12px;background:#1c2227;color:#f4f5f3;font-weight:750;cursor:pointer}
.socialButton:hover{background:#293139;border-color:#69747a}
.authModes{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#0c1013;border:1px solid #30383d;border-radius:12px}
.authModes button{padding:10px 8px;background:transparent;border:0;border-radius:9px;color:#aeb6bb;font-weight:750;cursor:pointer}
.authModes button.active{background:#30383e;color:white}
.authCard .orDivider{margin:20px 0}
.textButton{border:0;background:none;color:#e3bc72;padding:12px 0;margin-top:10px;cursor:pointer;font-weight:700;text-align:left}
.authCard button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:520px){.authCard{padding:20px;margin-top:14px}.authForm{gap:16px}}

.scoreSetup{
  margin-top:7px;padding:0;background:transparent;border:0;color:var(--accent);
  font-size:10px;font-weight:800;cursor:pointer;text-align:left
}
.scoreSetup:hover{text-decoration:underline}
#athleteProfileSettings{scroll-margin-top:90px}

/* Performance reference: keep labels separate from values and explain the estimate. */
.contextHero{align-items:start}
.contextHero>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.contextHero strong{line-height:1.15;overflow-wrap:anywhere}
.contextExplanation{border-top:1px solid var(--line);margin-top:14px;padding-top:10px;color:#c1c9ce;font-size:13px;line-height:1.55}
.contextExplanation p{margin:6px 0}
@media(max-width:520px){.contextHero{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contextHero strong{font-size:clamp(20px,5vw,28px)}}

/* Motion is brief and only runs when content appears or values change. */
@keyframes cardEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes barReveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.tab:not([hidden]) .metric,.tab:not([hidden]) .subpanel,.tab:not([hidden]) .toolCard,.tab:not([hidden]) .reportCard{animation:cardEnter .28s ease-out backwards}
.tab:not([hidden]) .metric:nth-child(2),.tab:not([hidden]) .toolCard:nth-child(2){animation-delay:.045s}
.tab:not([hidden]) .metric:nth-child(3),.tab:not([hidden]) .toolCard:nth-child(3){animation-delay:.09s}
.tab:not([hidden]) .metric:nth-child(4){animation-delay:.135s}
.goalProgress span,.contextScale span{transform-origin:left center;animation:barReveal .55s cubic-bezier(.2,.75,.25,1) both}
@media(hover:hover){
  .metric,.subpanel,.toolCard,.reportCard{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
  .metric:hover,.subpanel:hover,.toolCard:hover,.reportCard:hover{transform:translateY(-2px);border-color:#485159;box-shadow:0 10px 24px rgba(0,0,0,.16)}
  .primary:hover,.ghost:hover{transform:translateY(-1px)}
  .primary:active,.ghost:active{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .tab:not([hidden]) .metric,.tab:not([hidden]) .subpanel,.tab:not([hidden]) .toolCard,.tab:not([hidden]) .reportCard,.goalProgress span,.contextScale span{animation:none}
  .metric,.subpanel,.toolCard,.reportCard,.primary,.ghost{transition:none}
  .metric:hover,.subpanel:hover,.toolCard:hover,.reportCard:hover,.primary:hover,.ghost:hover,.primary:active,.ghost:active{transform:none}
}

#legacyAccount .authModes{margin-bottom:20px}
#onboardingAccount{margin-left:16px}
@media(max-width:520px){#onboardingAccount{display:block;margin-left:0}}


/* Header utility refresh: account/settings live globally in the top bar. */
.utilityNav{display:none!important}
.headerIconButton{
  width:38px;height:38px;display:inline-grid;place-items:center;flex:0 0 38px;
  padding:0;border:1px solid rgba(255,255,255,.10);border-radius:11px;
  background:rgba(255,255,255,.025);color:#aab2ba;cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease
}
.headerIconButton:hover{background:#1a1f23;border-color:#343c43;color:#f3f5f4}
.headerIconButton:active{transform:scale(.96)}
.headerIconButton.active{background:var(--accent-soft);border-color:#665226;color:#e3b85e}
.headerIconButton svg{
  width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round
}
.meetHeaderActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.meetReportButton{display:inline-flex;align-items:center;gap:7px}
@media(max-width:520px){
  .topActions{flex-direction:row;align-items:center;gap:5px}
  .cloudBadge{max-width:72px}
  .headerIconButton{width:36px;height:36px;flex-basis:36px}
  .meetHeader{gap:12px}
  .meetHeaderActions{width:100%;justify-content:flex-start}
}


/* Keep the Google Identity button inside narrow mobile auth cards. */
.googleSignInBlock{min-width:0}
#googleSignInButton{width:100%;max-width:360px;min-width:0;overflow:hidden}
#googleSignInButton>div,#googleSignInButton iframe{width:100%!important;max-width:100%!important}
@media(max-width:420px){
  .googleChoice{padding:14px}
  .googleChoiceCopy{margin-bottom:10px}
  #googleSignInButton{max-width:100%}
}


/* How-to and manual meet entry */
.manualMeetLauncher{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.manualMeetForm{margin-top:14px;padding:16px;border:1px solid #2d3338;border-radius:16px;background:#121619}
.manualMeetPreview{display:grid;grid-template-columns:1fr auto;gap:7px 16px;align-items:center;margin:14px 0;padding:12px 14px;border-radius:12px;background:#0d1012;border:1px solid #252b30}
.manualMeetPreview span{color:#8f989f;font-size:.82rem}
.manualMeetPreview strong{text-align:right;font-size:1.05rem}
.manualAdvanced{margin-top:12px}
.manualAttempts{display:grid;gap:10px;margin-top:12px}
.manualAttempts>div{display:grid;grid-template-columns:minmax(76px,1fr) repeat(3,minmax(0,1fr));gap:8px;align-items:center}
.manualAttempts input{min-width:0}
.meetSourceBadge{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;border:1px solid #3b444b;border-radius:999px;color:#9ea8af;font-size:.68rem;font-weight:700;vertical-align:middle}
.helpSteps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.helpSteps article{padding:13px;border:1px solid #2b3136;border-radius:12px;background:#111518}
.helpSteps article strong{display:block;margin-bottom:4px}
.helpSteps article p{margin:0;color:#9aa3aa;font-size:.88rem;line-height:1.45}
.helpTip{margin:14px 0 0;padding:12px 14px;border-left:3px solid #d8aa4e;background:#151719;border-radius:8px}
.accountHelpCard{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}
.accountHelpCard p{margin:.3rem 0 0}
@media(max-width:640px){
  .helpSteps{grid-template-columns:1fr}
  .accountHelpCard{align-items:flex-start;flex-direction:column}
  .manualAttempts>div{grid-template-columns:1fr repeat(3,minmax(54px,1fr))}
}


/* Athlete overview edit action */
.heroTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.heroEditButton{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #343a40;border-radius:11px;background:#171b1e;color:#aeb6bc;cursor:pointer;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease}
.heroEditButton:hover{transform:translateY(-1px);border-color:#d8aa4e;color:#f0b54b;background:#1b1f22}
.heroEditButton:focus-visible{outline:2px solid #d8aa4e;outline-offset:2px}
.heroEditButton svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}


/* Non-destructive athlete profile editing */
.onboardingHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.profileEditBack{flex:0 0 auto}
.profileFormActions{margin-top:14px}


/* Testing reset control */
.dangerZone{border-color:#493238}
.dangerZone .danger{margin-top:8px}
