.my-races-workspace,.personal-race-detail{max-width:1120px}.my-races-heading-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.personal-race-toolbar,.personal-race-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;display:flex}.personal-race-actions{justify-content:flex-start;gap:12px;margin:0 0 6px}.personal-race-flags{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.personal-race-tools{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.personal-race-tools .button{gap:9px;min-height:44px;padding:10px 16px;font-size:14px}.personal-race-flags .btn{gap:8px;min-height:44px;padding-inline:14px;font-size:14px;transition:border-color .15s ease-out,background-color .15s ease-out,color .15s ease-out}.personal-race-priority{color:var(--ink-2);align-items:center;gap:7px;padding-inline-end:4px;font-size:14px;font-weight:500;display:inline-flex}.personal-race-priority svg{color:var(--muted)}.personal-race-group{margin-top:30px}.personal-race-group-title{align-items:baseline;gap:12px;display:flex}.personal-race-group-title>.text-action{margin-inline-start:auto}.personal-race-group-title h2{margin:0}.personal-race-group-title>span{color:var(--muted);font-family:var(--font-nb-mono);font-variant-numeric:tabular-nums;font-size:14px}.personal-race-group .personal-race-list{margin-top:12px}.personal-race-group-empty{border-block:1px solid var(--hairline);color:var(--muted);margin-top:10px;padding-block:18px;font-size:15px}.personal-race-group-empty .text-action{min-height:0;display:inline}.personal-race-group .personal-race-tip{background:var(--paper-2);width:fit-content;max-width:100%;color:var(--ink-2);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:4px 4px 4px 16px;font-size:14px;display:flex}.personal-race-tip>span{text-wrap:pretty}.personal-race-tip button{width:44px;height:44px;color:var(--ink-2);cursor:pointer;border-radius:6px;flex:none;place-items:center;display:grid}.personal-race-tip button:hover{background:var(--paper-3)}.personal-race-row-actions{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:-14px 0 0;padding:0 8px 20px 96px;display:flex}.personal-race-row-actions .btn{min-height:44px;padding-inline:16px;font-size:14px}.personal-race-row-actions .text-action{color:var(--ink-2);font-size:14px}.personal-race-copy-of p{max-width:60ch;color:var(--ink-2);flex:100%;margin:0;font-size:14px}.personal-race-archived-link{color:var(--ink-2);margin-top:22px;font-size:14px}.personal-race-archived-link svg{color:var(--muted)}.personal-race-list,.personal-plan-list{margin:24px 0;padding:0;list-style:none}.personal-race-list li{border-top:1px solid var(--hairline)}.personal-race-list li:last-child{border-bottom:1px solid var(--hairline)}.personal-race-link{color:var(--ink);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 8px;text-decoration:none;display:grid}.personal-race-link:hover{background:var(--paper-2)}.personal-race-date{color:var(--violet);gap:4px;display:grid}.personal-race-date strong{font-size:14px;font-weight:500}.personal-race-date>span{font-family:var(--font-mono);font-size:32px;line-height:1}.personal-race-copy{gap:6px;min-width:0;display:grid}.personal-race-copy>strong{overflow-wrap:anywhere;font-size:19px;line-height:1.4}.personal-race-copy>span{color:var(--muted);font-size:14px}.personal-race-state{max-width:240px;color:var(--violet);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;font-size:14px;display:flex}.personal-race-form{background:var(--paper-2);border-radius:8px;max-width:680px;margin:24px 0 32px;padding:24px}.personal-race-form h2{margin:0}.personal-race-form label.personal-race-checkbox{align-items:flex-start;gap:12px;min-height:44px;display:flex}.personal-race-checkbox input{width:20px;height:20px;min-height:20px;accent-color:var(--violet);flex:0 0 20px;margin-top:3px}.personal-race-countdown{flex-shrink:0;justify-items:end;gap:12px;width:min(330px,100%);display:grid}.race-page-heading .personal-race-days{color:var(--ink);align-items:baseline;gap:10px;margin:0;display:flex}.personal-race-days strong{font-family:var(--font-nb-mono);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:58px;font-weight:400;line-height:.9}.personal-race-days span{color:var(--muted);font-size:14px}.personal-race-journey{width:100%;color:var(--violet);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.personal-race-journey i{background:var(--hairline-strong);height:1px;position:relative}.personal-race-journey i:before{content:"";z-index:1;top:-3px;left:clamp(0px, calc(var(--journey,0) * 100% - 3.5px), calc(100% - 7px));background:var(--violet);border-radius:50%;width:7px;height:7px;position:absolute}.personal-race-journey i:after{content:"";height:3px;width:calc(var(--journey,0) * 100%);background:var(--violet);transform-origin:0;animation:.6s cubic-bezier(.16,1,.3,1) both race-progress-draw;position:absolute;top:-1px;left:0}@keyframes race-progress-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.race-page-heading .personal-race-horizon-note{color:var(--muted);text-align:right;margin:0;font-size:13px;line-height:1.55}.personal-race-horizon-note>span{display:block}.race-page-heading .personal-race-countdown-state{color:var(--ink);font-family:var(--font-nb-display);letter-spacing:-.03em;align-items:center;gap:10px;margin:0;font-size:36px;font-weight:600;line-height:1.1;display:flex}.personal-race-countdown-state svg{color:var(--violet)}.race-page-heading .personal-race-countdown[data-state=done] .personal-race-countdown-state{color:var(--ink-2);font-size:24px}.personal-race-countdown[data-state=undated] .text-action{gap:8px}.race-panel-arrival{animation:.3s cubic-bezier(.16,1,.3,1) backwards race-panel-arrival}@keyframes race-panel-arrival{0%{transform:translateY(6px)}to{transform:translateY(0)}}.personal-race-masthead{align-items:end;gap:30px;margin-bottom:22px}.personal-race-identity{min-width:0}.personal-race-shape{max-width:520px;margin-top:22px}.personal-race-shape-bar{height:8px;display:flex}.personal-race-shape-bar>i{flex:1 1 0;min-width:0}.personal-race-shape-bar>[data-segment=swim]{background:var(--swim)}.personal-race-shape-bar>[data-segment=bike]{background:var(--bike)}.personal-race-shape-bar>[data-segment=run]{background:var(--run)}.personal-race-shape-bar>:is([data-segment=t1],[data-segment=t2]){min-width:3px}.personal-race-shape ul{color:var(--ink-2);flex-wrap:wrap;gap:6px 22px;margin:12px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.personal-race-shape li{align-items:center;gap:8px;display:inline-flex}.personal-race-shape li:before{content:"";background:var(--hairline-strong);flex:none;width:8px;height:8px}.personal-race-shape li[data-sport=swim]:before{background:var(--swim)}.personal-race-shape li[data-sport=bike]:before{background:var(--bike)}.personal-race-shape li[data-sport=run]:before{background:var(--run)}.personal-race-shape strong{font-family:var(--font-nb-mono);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:400}.race-page-heading .personal-race-shape-empty{margin-top:18px;font-size:14px}.personal-race-home{gap:48px;padding:8px 0 32px;display:grid}.personal-race-home h2,.personal-race-pacing h2{font-size:24px}.personal-race-home p{max-width:65ch}.personal-race-next{gap:24px;padding-top:12px;display:grid}.personal-race-next-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;display:flex}.personal-race-next-heading h2{font-size:28px}.personal-race-next-heading p{color:var(--ink-2);margin-top:6px;font-size:15px}.personal-race-nowrap{white-space:nowrap}.personal-race-next-heading .dashboard-actions,.personal-race-next>.dashboard-actions{margin-top:0}.personal-race-next .button{gap:9px;min-height:46px;padding:10px 18px;font-size:15px}.personal-race-next-group{gap:10px;min-width:0;display:grid}.personal-race-next-group>h3{font-family:var(--font-nb-sans);letter-spacing:0;color:var(--ink-2);font-size:15px;font-weight:600}.personal-race-next-group .dashboard-sessions{margin-top:0}.personal-race-next-empty{border-block:1px solid var(--hairline);color:var(--ink-2);padding-block:22px}.personal-race-next[data-phase=race-day]{background:var(--hero-ground);border-radius:12px;padding:28px}.personal-race-next[data-phase=race-day] .race-review-table{margin-top:20px}.personal-race-day-plan{gap:4px;min-width:0;display:grid}.personal-race-watch-compare{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;max-width:520px}.personal-race-watch-compare th,.personal-race-watch-compare td{border-bottom:1px solid var(--hairline);text-align:right;padding:10px 0;font-weight:400}.personal-race-watch-compare thead th{color:var(--muted);padding-top:0;font-size:13px}.personal-race-watch-compare th[scope=row]{text-align:left;color:var(--ink-2);font-size:15px}.personal-race-watch-compare td{font-family:var(--font-nb-mono);font-size:17px}.personal-race-watch-compare tr[data-finish] :is(th,td){border-bottom:0;font-weight:600}.personal-plan-finish dl{margin:0}.personal-plan-finish dt{color:var(--muted);font-size:13px}.personal-plan-finish dd{font-family:var(--font-nb-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:34px;line-height:1.15}.personal-plan-goal{color:var(--ink);margin:6px 0 0;font-size:16px;font-weight:600;line-height:1.4}.personal-figure{font-family:var(--font-nb-mono);font-variant-numeric:tabular-nums;font-weight:500}.personal-plan-goal[data-over]{color:var(--caution)}.personal-race-about,.personal-race-details{border-top:1px solid var(--hairline-strong);padding-top:32px}.personal-race-details>p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:16px;line-height:1.75}.personal-race-pacing{border-top:1px solid var(--hairline-strong);padding-top:36px}.personal-race-home>.personal-race-pacing:first-child{border-top:0;padding-top:12px}.personal-race-pacing-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.personal-race-pacing-actions .button{gap:9px;min-height:46px;padding:10px 18px;font-size:15px}.personal-race-pacing-course{color:var(--muted);margin-top:12px;font-size:14px}.personal-race-plan-lead{gap:18px;max-width:560px;margin-top:28px;display:grid}.personal-race-plan-lead .personal-plan-name a{color:var(--violet);text-underline-offset:4px;font-size:19px;font-weight:600}.personal-race-plan-lead .personal-plan-finish{margin-top:-4px}.personal-plan-legs{max-width:560px;margin:0;padding:0;list-style:none}.personal-plan-legs li{grid-template-columns:8px minmax(0,1fr) auto;align-items:baseline;column-gap:12px;padding:11px 0;font-size:16px;line-height:21px;display:grid}.personal-plan-legs li+li{border-top:1px solid var(--hairline)}.personal-plan-leg-swatch{align-self:start;width:8px;height:8px;margin-top:calc(.5lh - 4px)}.personal-plan-legs li[data-segment=swim] .personal-plan-leg-swatch{background:var(--swim)}.personal-plan-legs li[data-segment=bike] .personal-plan-leg-swatch{background:var(--bike)}.personal-plan-legs li[data-segment=run] .personal-plan-leg-swatch{background:var(--run)}.personal-plan-leg-name{min-width:0;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.personal-plan-leg-name small{color:var(--muted);font-size:13.5px;line-height:18px}.personal-plan-legs strong{font-family:var(--font-nb-mono);font-variant-numeric:tabular-nums;justify-self:end;font-size:18px;font-weight:400}.personal-plan-legs li[data-transition]{padding:7px 0;font-size:14px;line-height:18px}.personal-plan-legs li[data-transition] .personal-plan-leg-name,.personal-plan-legs li[data-transition] strong{color:var(--muted)}.personal-plan-legs li[data-transition] strong{font-size:15px}.personal-result-legs li{grid-template-columns:8px minmax(0,1fr) auto 84px}.personal-result-legs li>small{color:var(--ink-2);justify-self:end;font-size:15px}.personal-result-legs li>small .personal-figure{font-weight:400}.personal-result-legs li>small[data-over]{color:var(--caution)}.personal-result-legs li[data-transition]>small{font-size:14px}.personal-race-result .personal-plan-finish{margin-bottom:14px}.personal-plan-alternatives{margin-top:32px}.personal-plan-alternatives>h3{font-family:var(--font-nb-sans);letter-spacing:0;color:var(--ink-2);font-size:15px;font-weight:600}.personal-race-pacing-more{margin-top:6px}.personal-race-facts{gap:18px;margin:24px 0 0;display:grid}.personal-race-facts>div{grid-template-columns:140px minmax(0,1fr);gap:16px;display:grid}.personal-race-facts dt{color:var(--muted);padding-top:2px;font-size:15px}.personal-race-facts dt:has(label){padding-top:11px}.personal-race-facts dd{overflow-wrap:anywhere;margin:0}.personal-race-facts dd>p{color:var(--muted);margin-top:8px;font-size:13.5px}.personal-race-facts dd .text-action{min-height:0}.personal-race-entry{background:var(--paper);border:1px solid var(--field-border);border-radius:5px;min-width:200px;min-height:44px;padding:8px 12px;font-size:15px}.personal-race-attach select,.race-assignment select,.training-race-filter select{background:var(--paper);border:1px solid var(--field-border);border-radius:5px;width:100%;min-height:48px;padding:8px 12px;font-size:16px}.personal-race-detail .race-status,.personal-race-list .race-status{align-items:center;gap:6px;display:inline-flex}.personal-plan-list li{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}.personal-plan-list li[data-chosen=true]{border-top-color:var(--hairline-strong)}.personal-plan-compare li{grid-template-columns:minmax(0,1fr) 240px 272px;grid-template-areas:"name finish actions"".goal actions";align-items:center;gap:4px 32px;display:grid}.personal-plan-compare li>.personal-plan-name{grid-area:name}.personal-plan-compare li>.personal-plan-goal{grid-area:goal;align-self:start;margin:0;font-size:14.5px}.personal-plan-compare li>.dashboard-actions{grid-area:actions;justify-content:flex-end;margin-top:0}.personal-plan-name{flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;display:flex}.personal-plan-alt-finish{grid-area:finish;margin:0}.personal-plan-alt-finish dt{color:var(--muted);font-size:12.5px}.personal-plan-alt-finish dd{font-family:var(--font-nb-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;margin:2px 0 0;font-size:21px}.personal-plan-alternatives+.race-small{margin-top:14px}.personal-race-plan-lead>.race-small{margin-top:-8px}.personal-plan-list a{color:var(--violet);text-underline-offset:4px;font-size:19px;font-weight:600}.personal-plan-list p{color:var(--muted);margin:8px 0 0;font-size:15px}.personal-race-attach{flex-wrap:wrap;align-items:end;gap:16px;margin:32px 0;display:flex}.personal-race-attach label{flex:1;min-width:200px;max-width:440px}.personal-race-archived{background:var(--paper-2);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-top:12px;padding:20px 22px;display:flex}.personal-race-archived .button{gap:9px;min-height:46px;padding:10px 18px;font-size:15px}.personal-race-detail :is(.button,.btn):disabled{background:var(--paper-3);border-color:var(--hairline-strong);color:var(--muted);cursor:not-allowed}.personal-race-closed-note{color:var(--muted);font-size:13.5px}.personal-race-pacing>.personal-race-closed-note{margin:-8px 0 8px}.race-delete-dialog{max-width:min(520px,100% - 2rem)!important}.race-delete-dialog [data-slot=dialog-description]{font-size:15px;line-height:1.6}.race-delete-dialog .btn-warn{border-color:var(--warn);color:var(--warn)}.race-delete-dialog .btn-warn:hover:not(:disabled){background:var(--warn);border-color:var(--warn);color:#fff}:root[data-theme=dark] .race-delete-dialog .btn-warn:hover:not(:disabled){color:var(--paper)}.race-assignment{max-width:540px;margin:24px 0}.race-assignment p{color:var(--muted);font-size:14px}.race-assignment .text-action{margin-top:8px}.race-assignment[data-compact]{flex-wrap:wrap;align-items:center;gap:4px 14px;max-width:none;margin:18px 0 0;display:flex}.race-assignment[data-compact]>p{color:var(--ink-2);margin:0;font-size:15px}.race-assignment[data-compact]>p strong{color:var(--ink);font-weight:600}.race-assignment[data-compact] .text-action{color:var(--violet);margin-top:0;font-size:14px}.race-assignment[data-compact]>label{max-width:420px;color:var(--muted);flex:320px;gap:6px;font-size:13px;display:grid}.race-editor .race-assignment[data-compact] select.field{appearance:none;border-width:0 0 1px;border-color:var(--field-border);min-height:50px;color:var(--ink);background-color:#0000;background-position:right 4px center;background-repeat:no-repeat;background-size:14px 10px;border-radius:0;padding:8px 28px 8px 0;font-size:17px}.training-race-filter{justify-content:space-between;align-items:end;gap:20px;margin:24px 0;display:flex}.training-race-filter label{flex:1;gap:8px;min-width:220px;max-width:460px;font-size:15px;display:grid}.personal-race-detail .race-strava-control{margin:22px 0 30px}.race-training-group{margin-top:30px}.race-training-group+.race-training-group{margin-top:38px}.race-training-group .activity-rows{margin-top:0}.account-settings-workspace{max-width:760px}.account-settings-workspace .auth-panel{max-width:640px}.account-settings-links{flex-direction:column;align-items:start;gap:12px;display:flex}.dashboard-header-race{max-width:45vw;min-height:44px;color:var(--violet);align-items:center;gap:12px;font-size:14px;text-decoration:none;display:flex}.dashboard-header-race span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-header-race strong{white-space:nowrap;font-weight:600}@media (max-width:900px){.personal-plan-compare li{grid-template-columns:minmax(0,1fr) 240px;grid-template-areas:"name finish"".goal""actions actions";row-gap:4px}.personal-plan-compare li>.dashboard-actions{justify-content:flex-start;margin-top:10px}.personal-race-state{max-width:170px}}@media (max-width:700px){.my-races-heading-actions{width:100%}.my-races-heading-actions .button{flex:auto}.personal-race-link{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:24px 0}.personal-race-state{grid-column:2;justify-content:flex-start;max-width:none}.personal-race-copy>strong{font-size:17px}.personal-race-row-actions{margin-top:-10px;padding:0 0 18px 60px}.personal-race-detail .race-back-link{margin-bottom:4px}.personal-race-detail>.race-page-heading{gap:16px;margin-bottom:14px}.personal-race-detail>.race-page-heading h1{font-size:27px}.personal-race-detail>.race-page-heading .personal-race-identity>p{margin-top:6px;font-size:14px}.personal-race-shape{margin-top:14px}.personal-race-shape ul{gap:4px 16px;font-size:13px}.personal-race-shape strong{font-size:12.5px}.personal-race-countdown{grid-template-columns:auto minmax(0,1fr);place-items:end stretch;gap:10px 16px;width:100%}.personal-race-days{grid-area:1/1}.personal-race-days strong{font-size:42px}.race-page-heading .personal-race-horizon-note{grid-area:1/2;padding-bottom:3px}.personal-race-journey{grid-column:1/-1}.race-page-heading .personal-race-countdown-state{font-size:28px}.personal-race-actions{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin:12px 0 4px;display:grid}.personal-race-tools{display:contents}.personal-race-tools>.button{grid-area:2/1/auto/-1;justify-content:center}.personal-race-tools>.action-menu-trigger{grid-area:1/2}.personal-race-next-heading h2{font-size:24px}.personal-race-next-heading .dashboard-actions{width:100%}.personal-race-next-heading .dashboard-actions .button{flex:auto}.personal-race-next[data-phase=race-day]{padding:22px 16px}.personal-plan-finish dd{font-size:30px}.personal-plan-compare li{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""finish""goal""actions";gap:4px}.personal-plan-compare li>.personal-plan-alt-finish{margin-top:8px}.personal-plan-alt-finish dd{font-size:19px}.personal-race-entry{width:100%;min-width:0}.personal-race-archived .button{width:100%}.personal-race-form{padding:20px 16px}.personal-race-facts>div{grid-template-columns:110px minmax(0,1fr)}.personal-plan-list li,.training-race-filter{flex-direction:column;align-items:stretch}.personal-race-pacing-actions{justify-content:stretch;width:100%}.personal-race-pacing-actions :is(.button,.btn){flex:auto;justify-content:center}.personal-plan-legs strong{font-size:17px}.personal-result-legs li{grid-template-columns:8px minmax(0,1fr) auto 76px}.training-race-filter label{max-width:none}.dashboard-header-race{gap:6px;max-width:35vw;margin-right:12px;font-size:12px}.dashboard-header-race span{display:none}}.personal-race-list .race-status-no-plan{color:var(--ink-2)}
