@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{font-family:Plus Jakarta Sans,Inter,Segoe UI,sans-serif;color-scheme:dark;--bg: #0f0f10;--sidebar: #0b0b0c;--panel: #17181a;--panel-2: #1d1f21;--panel-3: #222426;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #f5f5f5;--muted: #a3a3a3;--soft: #d8d8d8;--white: #ffffff;--black: #101010;--success: #9dd39d;--danger: #efaaaa}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-weight:700;line-height:1.45}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}input,textarea,select{width:100%;margin-top:.55rem;padding:.95rem 1rem;border-radius:12px;border:1px solid var(--line);background:#111214;color:var(--text);font-size:.95rem;font-weight:700}input:focus,textarea:focus{outline:none;border-color:#ffffff2e;background:#151618}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}label{display:block;color:var(--soft);font-size:.9rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.4rem;font-size:clamp(1.85rem,2.8vw,2.55rem);line-height:1.04;font-weight:800;letter-spacing:-.04em}h2{margin-bottom:.3rem;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.08;font-weight:800;letter-spacing:-.03em}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;position:relative}.auth-hero{position:absolute;top:1rem;right:1rem;bottom:1rem;left:1rem;z-index:0;display:flex;align-items:center;justify-content:center;padding:1.2rem;opacity:.22;pointer-events:none}.auth-card{position:relative;z-index:1;width:100%;max-width:480px;margin:auto;padding:1.1rem}.muted,.section-subtle,.group-tile p,.leaderboard-meta small,.leaderboard-score small,.podium-caption{color:var(--muted);font-weight:600}.section-subtle{margin:0;max-width:46ch;font-size:.9rem;line-height:1.45}.eyebrow{margin:0 0 .45rem;color:#cfcfcf;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.app-shell.sidebar-collapsed{grid-template-columns:0 1fr}.sidebar{display:flex;flex-direction:column;gap:1rem;padding:18px 16px;border-right:1px solid var(--line);background:var(--sidebar);overflow:hidden;transition:opacity .2s ease,transform .2s ease}.app-shell.sidebar-collapsed .sidebar{opacity:0;transform:translate(-16px);pointer-events:none}.sidebar-top{display:flex;align-items:center;gap:.8rem;padding:.25rem .2rem .8rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#1b1c1e;border:1px solid var(--line);color:var(--white);font-size:.95rem;font-weight:800}.sidebar-top h1{margin:0;font-size:1.45rem}.nav{display:flex;flex-direction:column;gap:.45rem}.nav a{padding:.82rem .95rem;border-radius:12px;color:var(--muted);font-size:.95rem;font-weight:700}.nav a.active,.nav a:hover{background:#17181a;color:var(--white)}.sidebar-note{display:flex;align-items:center;gap:.65rem;margin-top:auto;padding:.8rem .25rem}.status-dot{width:8px;height:8px;border-radius:999px;background:#f1f1f1}.surface-soft{border:1px solid var(--line);background:var(--panel);border-radius:14px}.profile-box{display:flex;flex-direction:column;align-items:stretch;gap:.85rem;padding:.95rem}.profile-copy{display:flex;flex-direction:column;gap:.12rem}.profile-kicker{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.main-content{display:flex;flex-direction:column;min-height:100vh;padding:18px}.topbar{display:flex;flex-direction:column;gap:1.35rem;margin-bottom:1.6rem;padding:.1rem .1rem .5rem;min-height:138px}.topbar h2{margin:0;font-size:1.7rem;font-weight:800;letter-spacing:-.03em;text-transform:none}.topbar-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;min-height:24px}.topbar-body{display:flex;flex-direction:column;gap:.28rem;padding-left:2.05rem}.sidebar-toggle{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.28rem;width:36px;height:36px;padding:.4rem;background:transparent;border-radius:10px}.sidebar-toggle:hover{background:#17181a}.sidebar-toggle span{display:block;width:100%;height:2px;border-radius:999px;background:var(--white)}.topbar-links{display:flex;align-items:center;gap:3rem;color:var(--soft);font-size:.95rem;font-weight:800}.topbar-link-button{padding:0;background:transparent;color:inherit;font-weight:inherit}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding:1.6rem .2rem .35rem;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.app-footer div{display:flex;align-items:center;gap:.85rem;min-width:0}.app-footer strong{color:var(--text);font-size:.9rem}.app-footer span{font-weight:700}.footer-links{justify-content:flex-end}.footer-links span{padding-left:.85rem;border-left:1px solid var(--line);white-space:nowrap}.app-footer-compact{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:1;max-width:780px;margin:1.5rem auto 0;padding:.95rem 0 0}.topbar-meta,.hero-actions,.group-meta,.section-header,.chart-header,.competitor-item,.stats-inline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.topbar-pill,.invite-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:.4rem .8rem;border-radius:999px;background:#1b1c1e;border:1px solid var(--line);color:var(--soft);font-size:.82rem;font-weight:700}.topbar-pill.subtle{color:var(--muted)}.page-stack{display:flex;flex-direction:column;gap:1.45rem}.auth-page{height:100vh;display:flex;justify-content:center;align-items:center}.card,.hero-banner,.auth-card,.auth-hero{padding:1.05rem;background:var(--panel);border:1px solid var(--line);border-radius:18px}.card-elevated{box-shadow:0 0 0 1px #ffffff04}.hero-banner{display:flex;align-items:stretch;justify-content:space-between;gap:.9rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-header{min-height:auto;align-items:center}.hero-copy{display:flex;flex-direction:column;justify-content:center}.hero-stat-panel,.overview-strip,.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.8rem}.section-header+.hero-stat-panel,.section-header+.group-grid,.section-header+.leaderboard-list,.section-header+.podium{margin-top:1.05rem}.hero-stat,.mini-stat,.metric-box,.chart-card,.group-tile,.leaderboard-row,.podium-step{padding:.95rem;background:var(--panel-2);border:1px solid var(--line);border-radius:14px}.hero-stat,.mini-stat,.metric-box{display:flex;flex-direction:column;gap:.35rem;min-height:88px}.hero-stat span,.mini-stat span,.metric-box span{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.hero-stat strong,.mini-stat strong,.metric-box strong{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dashboard-forms .card{display:flex;flex-direction:column;gap:1.15rem;min-height:100%}.form-submit-bottom{margin-top:auto}.primary-button,.ghost-button,.auth-toggle button{min-height:42px;padding:.78rem 1rem;border-radius:12px;font-size:.9rem;font-weight:800;transition:background .18s ease,border-color .18s ease}.primary-button{background:var(--white);color:var(--black)}.strava-button,.ghost-button.strava-button{background:#fc4c02;color:#fff;border-color:transparent}.strava-button:hover,.ghost-button.strava-button:hover{background:#e64500}.primary-button:hover{background:#e9e9e9}.ghost-button,.auth-toggle button{background:var(--panel-3);color:var(--text);border:1px solid var(--line)}.ghost-button:hover,.auth-toggle button:hover,.group-tile:hover,.leaderboard-row:hover{background:#26282b}.auth-toggle .active,.leaderboard-row.active{background:#2a2c2f;border-color:var(--line-strong)}.group-grid,.leaderboard-list,.competitor-list,.activity-feed-list{display:flex;flex-direction:column;gap:.8rem}.activity-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;background:var(--panel-2);border:1px solid var(--line);border-radius:14px}.activity-row-main{display:flex;flex-direction:column;gap:.2rem}.activity-row-main p{margin-bottom:0}.activity-row-card{align-items:flex-start}.activity-row-metrics{display:flex;align-items:center;gap:1rem;color:var(--soft);font-size:.88rem;font-weight:700}.activity-row-actions{display:flex;gap:.6rem;align-items:center}.activity-row-actions.compact{margin-left:auto}.small-button{min-height:34px;padding:.45rem .7rem;font-size:.8rem}.activity-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;width:100%}.dashboard-page .section-header{align-items:flex-start}.dashboard-page{padding-left:2.05rem}.dashboard-stats-card{padding:1.25rem 1.35rem}.dashboard-stats-card .hero-stat-panel{align-items:stretch}.dashboard-stats-card .hero-stat{min-height:96px;padding:1rem 1.05rem;justify-content:center}.dashboard-groups-card{padding:1.25rem 1.35rem}.dashboard-groups-card .group-grid{max-height:400px;overflow-y:auto;padding-right:.35rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.dashboard-groups-card .group-grid::-webkit-scrollbar{width:8px}.dashboard-groups-card .group-grid::-webkit-scrollbar-track{background:transparent}.dashboard-groups-card .group-grid::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.dashboard-groups-card .group-tile{padding:1.05rem 1.1rem}.dashboard-forms{gap:1.5rem;align-items:stretch}.dashboard-form-card{min-height:430px;padding:1.2rem 1.2rem 1.1rem}.dashboard-form-card .section-header+label,.dashboard-form-card label+label{margin-top:.2rem}.manual-entry-card,.run-tracker-card{padding:1.2rem 1.25rem}.tracker-mode-row{margin-top:1rem}.run-tracker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1rem}.run-tracker-actions{display:flex;gap:.8rem;margin-top:1rem}.activity-feed-card{padding:1.25rem 1.35rem}.activity-filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;margin-top:1rem;margin-bottom:1.1rem}.manual-entry-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;margin-top:1rem}.manual-entry-form button{align-self:end}.dashboard-join-card .form-submit-bottom,.dashboard-create-card .primary-button{align-self:center;min-width:148px;margin-top:auto}.group-tile,.leaderboard-row{transition:background .18s ease,border-color .18s ease}.group-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.group-arrow{color:var(--soft);font-size:.82rem;font-weight:800}.group-meta{margin-top:.9rem;color:var(--muted);font-size:.82rem;font-weight:700}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:stretch}.card .podium,.analytics-layout{padding-top:.9rem}.section-header+.podium,.section-header+.leaderboard-list,.player-card .metrics-grid{margin-top:.9rem}.podium-step{display:flex;flex-direction:column;gap:.28rem;min-height:148px;justify-content:flex-end;padding:1.2rem}.podium-step.rank-1{background:linear-gradient(180deg,#d4af3733,#242629f2);border-color:#d4af3766}.podium-step.rank-1 strong,.podium-step.rank-1 .podium-rank,.podium-step.rank-1 .podium-points{color:#d4af37}.podium-rank{color:var(--soft);font-size:1.1rem;font-weight:800}.podium-points{margin-bottom:0}.leaderboard-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;text-align:left;color:inherit;padding:1rem 1.05rem}.rank-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:38px;border-radius:10px;background:#25272a;border:1px solid var(--line);color:var(--soft);font-size:.85rem;font-weight:800}.leaderboard-meta{display:flex;flex-direction:column;gap:.12rem}.leaderboard-score{display:flex;align-items:baseline;gap:.3rem}.chart-card{margin-top:.9rem;padding:1.1rem 1.15rem}.chart-wrap{height:220px;margin-top:.5rem}.auth-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;gap:1rem;padding:1rem}.auth-hero{display:flex;align-items:center;justify-content:center;padding:1.2rem}.auth-wireframe{display:grid;grid-template-columns:1.15fr .85fr;gap:.95rem;align-items:center;width:100%}.wire-card{border-radius:22px;background:#1d1f21;border:1px solid rgba(255,255,255,.04)}.wire-large{min-height:244px;padding:1.1rem}.wire-small{min-height:176px;padding:.95rem}.wire-line,.wire-field,.wire-pill,.wire-button{display:block;background:#e7e7e7;border-radius:6px}.wire-line{height:12px;margin-bottom:.7rem}.wire-line-long{width:88%}.wire-line-short{width:38%}.wire-stack{display:flex;flex-direction:column;gap:.68rem;margin-top:1.8rem}.wire-stack.compact{margin-top:.85rem}.wire-field{height:31px}.wire-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.68rem}.wire-pill{height:23px}.wire-button{width:34%;height:22px;margin:1rem auto 0}.auth-card{width:100%;max-width:480px;margin:auto;padding:1.1rem}.auth-card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-bottom:.9rem}.auth-form{display:flex;flex-direction:column;gap:.95rem}.player-card .section-header{align-items:flex-start}.player-card{max-height:860px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.player-card::-webkit-scrollbar{width:8px}.player-card::-webkit-scrollbar-track{background:transparent}.player-card::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.analytics-layout>.card,.page-stack>.card:has(.podium),.page-stack>.card:has(.leaderboard-list),.page-stack>.card:has(.player-card),.player-card{padding:1.25rem}.error-text,.success-text{margin:0;padding:.85rem .95rem;border-radius:12px;border:1px solid var(--line);font-size:.9rem}.error-text{color:var(--danger);background:#efaaaa12}.success-text{color:var(--success);background:#9dd39d12}.center-screen{display:grid;place-items:center;min-height:100vh}@media (max-width: 1120px){.auth-page,.two-column,.metrics-grid,.hero-stat-panel,.overview-strip,.run-tracker-grid,.activity-filter-row,.activity-edit-form,.manual-entry-form,.auth-wireframe{grid-template-columns:1fr}}@media (max-width: 920px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.topbar,.hero-banner,.section-header,.app-footer,.auth-card-head,.hero-actions{flex-direction:column;align-items:flex-start}.topbar{min-height:auto;gap:1rem}.topbar-topline,.topbar-links{width:100%;justify-content:space-between;gap:1rem}.topbar-body,.dashboard-page{padding-left:0}.hero-grid,.podium{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}}@media (max-width: 640px){.main-content,.sidebar,.auth-page{padding:14px}.card,.hero-banner,.auth-card,.auth-hero{padding:.95rem;border-radius:16px}.topbar{min-height:auto;gap:.75rem;margin-bottom:1rem;padding:0}.topbar-topline{align-items:center;min-height:20px}.topbar-links{display:none}.topbar-body{align-items:center;text-align:center;gap:.12rem}.topbar-body .eyebrow{margin-bottom:.2rem}.topbar-body h2{font-size:1.55rem}.app-footer{gap:.7rem;padding-top:1rem;text-align:left}.app-footer div{align-items:flex-start;flex-direction:column;gap:.35rem}.footer-links{flex-direction:row;gap:.55rem}.footer-links span{padding-left:0;border-left:0}.app-footer-compact{position:static;width:100%;margin-top:1rem}.dashboard-page{max-width:420px;margin:0 auto;padding-left:0}.dashboard-stats-card,.dashboard-groups-card,.dashboard-form-card{padding:1rem}.dashboard-stats-card .hero-stat-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.dashboard-stats-card .hero-stat{min-height:76px;padding:.7rem .55rem;align-items:center;text-align:center}.dashboard-stats-card .hero-stat span{font-size:.68rem}.dashboard-stats-card .hero-stat strong{font-size:.94rem}.dashboard-groups-card .group-grid{max-height:240px;padding-right:.25rem}.dashboard-groups-card .group-tile{padding:.9rem}.dashboard-groups-card .group-meta{flex-wrap:wrap;gap:.45rem}.dashboard-forms{gap:1.1rem}.dashboard-form-card{min-height:0;max-width:100%}.dashboard-create-card{min-height:350px}.dashboard-join-card{min-height:260px}.dashboard-form-card .section-header{margin-bottom:.25rem}.dashboard-create-card .primary-button,.dashboard-join-card .form-submit-bottom{width:100%;align-self:stretch}}
