:root{--bg:#F0F2ED;--surface:#FFFFFF;--surface-2:#E7EAE2;--text:#181B17;--text-muted:#5B6058;--line:#D7DBCF;--accent:#E8451F;--accent-text:#FFFFFF;--run:#E8451F;--ride:#2C6FF0;--swim:#0E8F86;--warn:#B8860B;--gc:#C9971E;--kom:#D1435B;--speed:#6A3FD6;--font-display:"Oswald", "Arial Narrow", sans-serif;--font-body:"Inter", system-ui, sans-serif;--radius-sm:4px;--radius-md:8px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#14161A;--surface:#1D2024;--surface-2:#262A2E;--text:#EEF0EA;--text-muted:#9AA098;--line:#33373C;--accent:#FF5A34;--accent-text:#14161A;--run:#FF5A34;--ride:#5B8FFF;--swim:#2BB3A8;--warn:#D9A441;--gc:#E8B94A;--kom:#F06A82;--speed:#9B7BEF}}:root[data-theme=dark]{--bg:#14161A;--surface:#1D2024;--surface-2:#262A2E;--text:#EEF0EA;--text-muted:#9AA098;--line:#33373C;--accent:#FF5A34;--accent-text:#14161A;--run:#FF5A34;--ride:#5B8FFF;--swim:#2BB3A8;--warn:#D9A441;--gc:#E8B94A;--kom:#F06A82;--speed:#9B7BEF}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}#root{max-width:920px;margin:0 auto;padding:0 20px 80px}a{color:inherit}button{font-family:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px;gap:12px;flex-wrap:wrap}.wordmark{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:.5px;display:flex;align-items:baseline;gap:8px}.wordmark .dot{color:var(--accent)}.whoami{display:flex;align-items:center;gap:10px}.whoami img{width:30px;height:30px;border-radius:50%;display:block}.whoami .name-role{display:flex;flex-direction:column;line-height:1.25}.whoami .name{font-weight:600;font-size:13.5px}.whoami .role{font-size:11.5px;color:var(--text-muted)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}.tab{padding:10px 4px;margin-right:22px;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:13.5px;color:var(--text-muted);border-bottom:2px solid transparent;position:relative;top:1px}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn:hover{border-color:var(--text-muted)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}.btn-ghost{background:none;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text);border-color:transparent}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-block{width:100%}.lane-list{border-top:1px solid var(--line)}.lane-row{display:flex;align-items:center;gap:14px;padding:16px 4px;border-bottom:1px solid var(--line);cursor:pointer;background:none;width:100%;text-align:left;border-left:none;border-right:none;border-top:none}.lane-row:hover{background:var(--surface-2)}.chip{width:9px;height:34px;border-radius:2px;flex-shrink:0}.lane-main{flex:1;min-width:0}.lane-title{font-weight:600;font-size:15px;margin-bottom:3px}.lane-sub{font-size:12.5px;color:var(--text-muted);display:flex;gap:10px;flex-wrap:wrap}.lane-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;border:1px solid var(--line);color:var(--text-muted);white-space:nowrap}.lane-status.live{color:var(--run);border-color:var(--run)}.lane-status.upcoming{color:var(--ride);border-color:var(--ride)}.lane-arrow{color:var(--text-muted);font-size:18px;flex-shrink:0}.gt-tag{font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--gc);border:1px solid var(--gc);border-radius:20px;padding:2px 7px;white-space:nowrap}.empty{padding:60px 10px;text-align:center;color:var(--text-muted)}.empty h3{color:var(--text);font-family:var(--font-display);font-weight:600;font-size:19px;margin:0 0 6px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.page-head h1{font-family:var(--font-display);font-weight:600;font-size:24px;margin:0;letter-spacing:.2px}.pillrow{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:9px 16px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:13px;cursor:pointer;color:var(--text-muted)}.pill.selected[data-activity-type=run]{background:var(--run);border-color:var(--run);color:#fff}.pill.selected[data-activity-type=ride]{background:var(--ride);border-color:var(--ride);color:#fff}.pill.selected[data-activity-type=swim]{background:var(--swim);border-color:var(--swim);color:#fff}.pill.selected[data-challenge-type]{background:var(--text);border-color:var(--text);color:var(--bg)}.pill-sm{padding:5px 11px;font-size:11.5px;border-radius:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:22px}.card+.card{margin-top:14px}.field{margin-bottom:18px}.field label{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.field .hint{font-size:12px;color:var(--text-muted);margin-top:6px}.field input[type=text],.field input[type=number],.field input[type=date],.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit;font-size:14px}.field textarea{resize:vertical;min-height:70px}.field input:focus,.field textarea:focus,.field select:focus,.pill:focus-visible,.btn:focus-visible,.lane-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:520px){.row2{grid-template-columns:1fr}}.type-option{border:1.5px solid var(--line);border-radius:var(--radius-md);padding:13px 15px;margin-bottom:9px;cursor:pointer}.type-option.selected{border-color:var(--text);background:var(--surface-2)}.type-option .t-title{font-weight:600;font-size:14px}.type-option .t-sub{font-size:12.5px;color:var(--text-muted);margin-top:3px}.hidden{display:none!important}.format-card{border:1.5px solid var(--line);border-radius:var(--radius-md);padding:20px;cursor:pointer;margin-bottom:12px}.format-card:hover{border-color:var(--text-muted)}.format-card h3{margin:0 0 5px;font-family:var(--font-display);font-size:18px;font-weight:600}.format-card p{margin:0;font-size:13.5px;color:var(--text-muted)}.detail-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:6px;flex-wrap:wrap}.activity-badge{font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;border-radius:20px;color:#fff}.detail-title{font-family:var(--font-display);font-weight:600;font-size:27px;margin:10px 0 6px;letter-spacing:.2px}.detail-meta{color:var(--text-muted);font-size:13.5px;margin-bottom:4px}.detail-desc{color:var(--text-muted);font-size:14px;margin:14px 0 6px;max-width:60ch}.actions-row{display:flex;gap:10px;margin:18px 0 26px;flex-wrap:wrap}.sync-note{font-size:12.5px;color:var(--text-muted);margin:-14px 0 20px;max-width:60ch}.sync-note.warn{color:var(--warn);font-weight:600}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.subtab{padding:8px 15px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:12.5px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;gap:6px}.subtab.active{border-color:var(--text);color:var(--text);background:var(--surface-2)}.jersey-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.stage-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.stage-nav select{padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:13px}.board{border-top:2px solid var(--text);margin-top:6px}.board-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px;padding-top:10px;gap:10px;flex-wrap:wrap}.board-head h2{font-family:var(--font-display);font-weight:600;font-size:16px;margin:0;letter-spacing:.3px}.board-head .metric-label{font-size:12px;color:var(--text-muted)}.brow{display:flex;align-items:center;gap:14px;padding:13px 2px;border-bottom:1px solid var(--line);flex-wrap:wrap}.brow.me{background:var(--surface-2);margin:0 -10px;padding-left:12px;padding-right:12px;border-radius:6px}.bib{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;font-size:13px;flex-shrink:0}.bib.rank-1{border-color:var(--accent);color:var(--accent)}.brow-name{flex:1;min-width:120px;font-weight:600;font-size:14px}.brow-name .you-tag{font-weight:500;color:var(--text-muted);font-size:12px;margin-left:6px}.brow-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line)}.brow-bar-wrap{flex:2;min-width:60px;height:6px;background:var(--surface-2);border-radius:4px;overflow:hidden}.brow-bar{height:100%;border-radius:4px;width:0;transition:width .7s ease}.brow-val{width:110px;text-align:right;font-weight:600;font-size:13.5px;flex-shrink:0}.brow-sources{font-size:11px;color:var(--text-muted);width:100%;padding-left:44px;margin-top:2px}.brow-breakdown{font-size:11px;color:var(--text-muted);width:100%;padding-left:44px;margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}.brow-breakdown span.b-run{color:var(--run)}.brow-breakdown span.b-ride{color:var(--ride)}.brow-breakdown span.b-swim{color:var(--swim)}.backlink{background:none;border:none;color:var(--text-muted);font-weight:600;font-size:13px;cursor:pointer;padding:0;margin-bottom:16px;display:inline-flex;align-items:center;gap:6px}.backlink:hover{color:var(--text)}.wear-row{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--line);gap:12px}.wear-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:9px}.badge-sim{font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--warn);border:1px solid var(--warn);border-radius:20px;padding:2px 7px}.badge-real{font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--swim);border:1px solid var(--swim);border-radius:20px;padding:2px 7px}.wear-status{font-size:12px;color:var(--text-muted);margin-top:2px}.role-card{border:1.5px solid var(--line);border-radius:var(--radius-md);padding:18px;cursor:pointer;margin-bottom:12px}.role-card.selected{border-color:var(--accent)}.role-card h3{margin:0 0 4px;font-family:var(--font-display);font-size:16px;font-weight:600}.role-card p{margin:0;font-size:13px;color:var(--text-muted)}.onboard-wrap{max-width:480px;margin:60px auto 0}.onboard-wrap h1{font-family:var(--font-display);font-size:26px;margin-bottom:4px}.onboard-wrap p.lead{color:var(--text-muted);margin-top:0;margin-bottom:24px;font-size:14px}.stage-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:8px}.stage-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.stage-card-head .stage-title{font-weight:700;font-size:13px}.stage-card-head .stage-date{font-size:12px;color:var(--text-muted)}.stage-reset{background:none;border:none;color:var(--text-muted);font-size:11.5px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.stage-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stage-controls select{padding:6px 8px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--text)}.stage-goal{width:90px;padding:6px 8px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--line)}.stage-list-wrap{max-height:420px;overflow-y:auto;padding-right:4px}.team-type-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px}.team-type-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.team-type-head input{flex:1;min-width:140px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px}.team-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.team-name-chip{display:inline-flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:4px 6px 4px 11px;font-size:12.5px}.team-name-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:1px 3px}.team-add-row{display:flex;gap:8px;align-items:center}.team-add-row input{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13px}.team-select-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px;margin-bottom:10px}.team-select-card h3{font-family:var(--font-display);font-size:15px;font-weight:600;margin:0 0 10px}.team-board-row{display:flex;align-items:center;gap:14px;padding:13px 2px;border-bottom:1px solid var(--line);flex-wrap:wrap}.team-board-row .bib{background:var(--surface-2)}.team-board-row .bib.rank-1{background:none}.team-col{flex:1;min-width:100px;font-weight:600;font-size:14px}.team-stats{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-top:2px}.team-stats span{white-space:nowrap}.chiprow{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.email-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:4px 6px 4px 12px;font-size:12.5px}.email-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}.email-chip button:hover{color:var(--text)}.invite-panel{border:1px dashed var(--line);border-radius:var(--radius-md);padding:16px;margin:0 0 22px}.invite-panel .field{margin-bottom:12px}.file-drop{border:1.5px dashed var(--line);border-radius:var(--radius-sm);padding:12px;font-size:12.5px;color:var(--text-muted)}.qual-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;flex-wrap:wrap}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:11px 20px;border-radius:20px;font-size:13.5px;font-weight:600;box-shadow:0 6px 20px #0003;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:50;max-width:80vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%) translateY(-4px)}.loading-line{color:var(--text-muted);padding:60px 10px;text-align:center;font-size:14px}.footnote{color:var(--text-muted);font-size:12px;margin-top:26px;line-height:1.6}
