.ov-tiles{grid-template-columns:repeat(auto-fit,minmax(13.75rem,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.ov-tile{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.ov-tile-label,.ov-tile-note{color:var(--muted);font-size:.857rem}.ov-figure{font-size:1.57rem;font-weight:700}.ov-figure small{color:var(--muted);font-size:1rem;font-weight:500}.ov-split{background:var(--raised);border-radius:4px;gap:2px;height:8px;margin:.25rem 0;display:flex;overflow:hidden}.ov-split span{flex-basis:0}.overview{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:1.1rem 1.25rem 1rem;display:flex}.overview .hint{margin:0}.ov-head{flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;display:flex}.ov-head h2{margin:0;font-size:1.14rem}.ov-head .ov-metrics{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:2px;padding:3px;display:flex}.ov-metrics button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:.25rem .75rem}.ov-head button[aria-pressed=true]{background:var(--line);color:var(--text)}.ov-legend{color:var(--muted);flex-wrap:wrap;flex:1;gap:.25rem 1rem;margin:0;padding:0;font-size:.857rem;list-style:none;display:flex}.ov-legend li{align-items:center;gap:.4rem;display:flex}.ov-swatch{border-radius:2px;width:10px;height:10px}.ov-swatch.easy,.ov-split .easy,.ov-seg.easy{background:var(--blue)}.ov-swatch.moderate,.ov-split .moderate,.ov-seg.moderate{background:var(--green)}.ov-swatch.hard,.ov-split .hard,.ov-seg.hard{background:var(--red)}.ov-swatch.free,.ov-seg.free{background:#6b7a8f}.ov-scroll{overflow-x:auto}.ov-body{min-width:calc(5.5rem + var(--weeks) * 3.7rem);flex-direction:column;gap:5px;display:flex}.ov-row{grid-template-columns:5.5rem minmax(0,1fr);align-items:center;display:grid}.ov-cols{grid-template-columns:repeat(var(--weeks), minmax(0, 1fr));column-gap:8px;display:grid}.ov-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-right:.6rem;font-size:.786rem;font-weight:600;overflow:hidden}.ov-lane{background:#161b23;border-radius:6px;min-height:26px}.ov-segment{border:1px solid var(--line);border-radius:6px;grid-row:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:4px 8px;font-size:.786rem;display:flex;overflow:hidden}.ov-segment b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ov-segment span{color:var(--text-strong);white-space:nowrap}.tint-slate{background:#6b7a8f3d;border-color:#4a5768}.tint-blue{background:#4f9cf933;border-color:#2f5f99}.tint-green{background:#3fb68b33;border-color:#2c7258}.tint-amber{background:#f2a93b33;border-color:#8f6526}.tint-red{background:#ef5b5b33;border-color:#8a3a3a}.tint-purple{background:#b26bf038;border-color:#6a4391}.ov-axis{height:14.4rem;margin-top:1.4rem;position:relative}.ov-axis span{color:var(--muted);font-size:.786rem;position:absolute;right:.6rem;transform:translateY(50%)}.ov-plot{border-bottom:1px solid #3a4553;height:14.4rem;margin-top:1.4rem;position:relative}.ov-gridline{border-top:1px solid var(--line-soft);position:absolute;left:0;right:0}.ov-bars{grid-template-rows:100%;position:absolute;inset:0}.ov-week{background:0 0;border:0;border-radius:6px 6px 0 0;height:100%;padding:0;position:relative}.ov-week.selected{background:#4f9cf924}.ov-week:hover{background:#4f9cf914}.ov-value{color:var(--muted);font-size:.786rem;font-weight:600;position:absolute;left:0;right:0}.ov-week.selected .ov-value{color:var(--text)}.ov-stack{border-radius:4px 4px 0 0;flex-direction:column;gap:1px;width:min(100% - 8px,2.5rem);display:flex;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}.ov-seg{flex:0 0 0}.ov-ticks{text-align:center;padding-top:.5rem}.ov-ticks div{color:var(--text-strong);flex-direction:column;font-size:.857rem;display:flex}.ov-ticks .selected{color:var(--link);font-weight:700}.ov-ticks small{min-height:1em;color:var(--muted);font-size:.714rem}.ov-editor{border:1px solid var(--blue);background:var(--bg);border-radius:10px;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.ov-editor-head,.ov-editor-rowhead,.ov-editor-seg,.ov-editor-actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.ov-editor-head h3{margin:0;font-size:1rem}.ov-editor-head .hint{flex:1}.ov-editor-row{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.ov-editor-row>button{align-self:flex-start}.ov-editor-rowhead label,.ov-editor-seg label{color:var(--muted);align-items:center;gap:.4rem;font-size:.857rem;display:flex}.ov-editor-seg input[type=number]{width:4rem}.ov-editor-actions{justify-content:flex-end}.ov-editor .primary{border-color:var(--blue);background:var(--blue);color:var(--on-blue);font-weight:700}.plans{max-width:64rem}.plan-cards{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem;display:grid}.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1rem}.plan-card h2{margin:.5rem 0 .25rem;font-size:1.1rem}.plan-card .actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.status{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.status-active{color:var(--blue);border-color:var(--blue)}.status-completed{opacity:.7}.plans-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.new-plan{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;margin:0 0 1rem;padding:1rem}.start-choices{flex-wrap:wrap;gap:1rem;display:flex}.ready-preview{margin:12px 0}.ready-preview summary{cursor:pointer}.ready-weeks{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px}.ready-weeks th,.ready-weeks td{border-bottom:1px solid var(--line);text-align:left;padding:4px 8px}.ready-weeks thead th{color:var(--muted);font-weight:500}.new-plan .settings-box,.new-plan .settings-box label{min-width:0}.new-plan .settings-box input,.new-plan .settings-box select{box-sizing:border-box;width:100%;min-width:0}.setup{flex-direction:column;gap:1.25rem;width:100%;max-width:820px;margin:0 auto;display:flex}.setup .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.setup-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;display:flex}.setup-eyebrow{letter-spacing:.06em;color:var(--muted);font-size:12px;font-weight:700;display:block}.setup h1{letter-spacing:-.02em;margin:.25rem 0 0;font-size:1.85rem;font-weight:700}.setup h1:focus{outline:none}.setup-leave{border:1px solid var(--line);min-height:40px;color:var(--text-strong);border-radius:10px;align-items:center;padding:0 .75rem;font-size:.93rem;font-weight:600;text-decoration:none;display:flex}.setup-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.setup-progress li{flex-direction:column;gap:.5rem;display:flex}.setup-bar{background:var(--line);border-radius:2px;height:4px}.setup-progress li:not([data-state=todo]) .setup-bar{background:var(--blue)}.setup-step-label{min-width:0;color:var(--muted);align-items:center;gap:.5rem;font-size:.93rem;font-weight:600;display:flex}.setup-progress li[data-state=current] .setup-step-label{color:var(--text)}.setup-progress li[data-state=done] .setup-step-label{color:var(--text-strong)}.setup-dot{border:1px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.setup-progress li:not([data-state=todo]) .setup-dot{border-color:var(--blue)}.setup-progress li[data-state=current] .setup-dot{color:var(--link)}.setup-progress li[data-state=done] .setup-dot{background:var(--blue);color:var(--on-blue)}@media (width<=30rem){.setup-step-label{font-size:0}.setup-step-label .setup-dot{font-size:11px}}.setup-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:1.1rem;padding:1.4rem 1.25rem;display:flex}.setup-card h3{margin:0;font-size:1.05rem;font-weight:700}.setup-card p{margin:0}.setup-lead{color:var(--text-strong);font-size:1.1rem}.setup-quiet{color:var(--muted);font-size:.93rem}.setup-foot{text-align:center}.setup-card code,.setup-command code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.93rem}.setup-list{color:var(--text-strong);flex-direction:column;gap:.3rem;margin:0;padding-left:1.4rem;display:flex}.setup-list strong{color:var(--text)}.setup-note,.setup-help{background:var(--raised);border-radius:10px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.setup-help{border-top:1px solid var(--line-soft);background:0 0;border-radius:0;padding:1rem 0 0}.setup-two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.setup-two div{flex-direction:column;gap:.15rem;display:flex}.setup-two span{color:var(--text-strong);font-size:.93rem}.setup-alert{border:1px solid var(--red);background:var(--raised);border-radius:10px;flex-direction:column;gap:.4rem;padding:.85rem 1rem;display:flex}.setup-alert ul{margin:0;padding-left:1.4rem}.setup-info{border:1px solid var(--blue);background:var(--raised);border-radius:10px;padding:.75rem 1rem}.setup-working{color:var(--text-strong)}.setup-skeleton{flex-direction:column;gap:.6rem;display:flex}.setup-skeleton span{background:var(--raised);border-radius:6px;height:14px}.setup-skeleton span:first-child{width:70%}.setup-skeleton span:nth-child(2){width:90%}.setup-skeleton span:nth-child(3){width:55%}.setup-rows{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.setup-rows li{background:var(--raised);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.3rem .8rem;padding:.6rem .8rem;display:flex}.setup-rows strong{color:var(--text-strong);flex:0 0 9rem;font-weight:600}.setup-rows span,.setup-rows code{overflow-wrap:anywhere;min-width:0;color:var(--text);flex:14rem}.setup-missing{color:var(--red);font-weight:600}.setup-fields{border:0;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem 1rem;min-width:0;margin:0;padding:0;display:grid}.setup-fields legend{padding:0 0 .5rem;font-size:1.05rem;font-weight:700}.setup-box label{flex-direction:column;gap:.3rem;font-size:.93rem;font-weight:600;display:flex}.setup-box input,.setup-box select{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);min-height:40px;color:var(--text);border-radius:10px;padding:0 .7rem;font-weight:400}.setup-box input[aria-invalid=true]{border-color:var(--red)}.setup-box p[role=alert]{color:var(--red);margin-top:.3rem;font-size:.93rem}.setup-time{flex-direction:column;gap:.4rem;max-width:16rem;padding-top:1rem;display:flex}.setup-time input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.setup-pair{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.setup-pair figure{flex-direction:column;flex:none;align-items:center;gap:.6rem;margin:0;display:flex}.setup-pair figcaption{text-align:center;max-width:232px;color:var(--muted);font-size:12px}.qr{border-radius:12px;display:block}.qr-light{fill:var(--text)}.qr-dark{fill:var(--on-blue)}.setup-qr-empty{box-sizing:border-box;border:1.5px dashed var(--line);text-align:center;width:232px;height:232px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;padding:1.25rem;font-size:.93rem;display:flex}.setup-instructions{flex-direction:column;flex:280px;gap:.75rem;min-width:0;display:flex}.setup-instructions ol{color:var(--text-strong);flex-direction:column;gap:.5rem;margin:0;padding-left:1.4rem;display:flex}.setup-instructions strong{color:var(--text)}.setup-command{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;gap:.5rem;margin-top:.4rem;padding:.35rem .35rem .35rem .75rem;display:flex}.setup-command code{white-space:nowrap;min-width:0;color:var(--text);flex:1 1 0;padding:.35rem 0;overflow-x:auto}.setup-nav{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:1.1rem;display:flex}.setup-nav .spacer{flex:1 1 0}.setup-actions{flex-wrap:wrap;gap:.5rem;display:flex}.setup-button{border:1px solid var(--line);background:var(--raised);min-height:40px;color:var(--text);border-radius:10px;align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.setup-button.primary{border-color:var(--blue);background:var(--blue);color:var(--on-blue);font-weight:700}.setup-link{color:var(--link);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.setup-nav .setup-link{min-height:44px;padding:0 .75rem;text-decoration:none}.sessions-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem;margin-bottom:1rem;display:grid}.sessions-head h1{grid-column:1;margin:0 0 .25rem;font-size:1.75rem}.sessions-head p{color:var(--muted);grid-column:1;margin:0}.sessions-head .button-link{grid-area:1/2/span 2}.sessions-layout{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (width<=52rem){.sessions-layout{grid-template-columns:minmax(0,1fr)}}.filters-panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.filters-head{justify-content:space-between;align-items:center;display:flex}.filters-head h2{margin:0;font-size:1.07rem}.filters-head button{color:var(--link);background:0 0;border:0}.filter-group{flex-wrap:wrap;gap:.35rem;display:flex}.filter-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-basis:100%;font-size:.786rem;font-weight:700}.filter-group button{border-radius:20px;padding:.25rem .7rem;font-size:.857rem}.filter-group button[aria-pressed=true]{border-color:var(--blue);color:var(--link);background:#4f9cf929}.filter-group.rows button{border-radius:8px;flex-basis:100%;justify-content:space-between;display:flex}.sessions-results{flex-direction:column;gap:.75rem;min-width:0;display:flex}.sessions-search{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sessions-search input[type=search]{flex:1;min-width:14rem}.sessions-search label{color:var(--muted);align-items:center;gap:.5rem;display:flex}.sessions-count{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sessions-count button{border-radius:20px;padding:.1rem .6rem;font-size:.857rem}.session-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.session-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;position:relative}.session-card.selected{border-color:var(--blue)}.session-open{text-align:left;background:0 0;border:0;border-radius:12px;flex-direction:column;gap:.5rem;width:100%;padding:.75rem 2.75rem .75rem .75rem;display:flex}.session-meta,.session-figures{color:var(--muted);flex-wrap:wrap;gap:.25rem .75rem;font-size:.786rem;display:flex}.session-meta{text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;font-weight:600}.session-star{color:var(--muted);background:0 0;border:0;padding:.1rem .4rem;font-size:1.2rem;position:absolute;top:.4rem;right:.4rem}.session-star[aria-pressed=true]{color:var(--amber)}.session-card .timeline{height:1.1rem}.sessions-empty{border:1px dashed var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.5rem;display:flex}.session-details{border:1px solid var(--blue);background:var(--surface);border-radius:12px;padding:1rem}.session-details-head{justify-content:space-between;align-items:center;display:flex}.session-details-head h3{margin:0}.session-details-head button{color:var(--muted);background:0 0;border:0;font-size:1.3rem}.session-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sessions .adding{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;margin-bottom:1rem}.builder{flex-direction:column;gap:1rem;display:flex}.builder-head{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.builder label{color:var(--muted);flex-direction:column;gap:.25rem;display:flex}.builder-name{flex:1;min-width:14rem}.builder-name input{font-size:1.3rem;font-weight:700}.counter{align-self:flex-end;font-size:.786rem}.sport-toggle{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:2px;padding:3px;display:flex}.sport-toggle button{color:var(--muted);background:0 0;border:0}.sport-toggle button[aria-pressed=true]{background:var(--line);color:var(--text)}.field-error{color:var(--red);font-size:.857rem;display:block}.builder-summary{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.summary-figures{flex-wrap:wrap;gap:.5rem 2rem;margin:0;display:flex}.summary-figures dt{color:var(--muted);font-size:.786rem}.summary-figures dd{margin:0;font-size:1.3rem;font-weight:700}.summary-figures dd.over{color:var(--red)}.zone-times{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.4rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.zone-times li{color:var(--muted);grid-template-columns:4rem 1fr 4.5rem;align-items:center;gap:.5rem;font-size:.857rem;display:grid}.zone-bar{background:var(--raised);border-radius:3px;height:6px;display:block;overflow:hidden}.zone-bar span{height:100%;display:block}.builder-steps h2{margin:0 0 .5rem;font-size:1.14rem}.step-list ul{flex-direction:column;gap:.5rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.step{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:.6rem .75rem}.step-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.step-line input[type=text]:first-child{flex:1;min-width:10rem}.step-line input[type=number]{width:4.5rem}.clock-field input{width:6rem}.step-buttons{gap:.25rem;margin-left:auto;display:flex}.step-buttons button{min-width:2.25rem;padding:.25rem .5rem}.step.repeat{border-left:4px solid var(--blue)}.step.repeat .step-list{margin:.5rem 0 0 1rem}.step-list-title{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem;font-size:.786rem;font-weight:700;display:block}.step-adders{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.builder-actions{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.builder-name input,.builder-description textarea{box-sizing:border-box;width:100%}.builder-description{max-width:48rem}.landing{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.landing-header{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;padding:.75rem 1.25rem;display:flex}.landing-quiet{color:var(--text-strong);cursor:pointer;background:0 0;border:0;padding:.5rem .75rem;font-weight:500}.landing-signin{background:var(--blue);min-height:38px;color:var(--on-blue);border-radius:10px;align-items:center;padding:0 1rem;font-weight:700;text-decoration:none;display:flex}.landing-signin:hover{color:var(--on-blue);filter:brightness(1.08)}.landing main{flex:1 0 auto}.landing-hero{box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:3rem;max-width:1180px;margin:0 auto;padding:4.5rem 1.25rem 3.5rem;display:flex}.landing-pitch{flex-direction:column;flex:380px;gap:1.25rem;min-width:0;display:flex}.landing-eyebrow{letter-spacing:.08em;color:var(--link);font-size:12px;font-weight:700}.landing-pitch h1{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,5vw,2.9rem);font-weight:800;line-height:1.08}.landing-lead{max-width:32rem;color:var(--text-strong);margin:0;font-size:1.2rem;line-height:1.55}.landing-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.landing-actions button{border-radius:10px;min-height:46px;padding:0 1.25rem;font-size:1.05rem}.landing-private{color:var(--muted);margin:0;font-size:.93rem}.landing-week{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-direction:column;flex:420px;gap:.9rem;min-width:0;margin:0;padding:1.1rem;display:flex}.landing-week figcaption{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.landing-week figcaption span{color:var(--muted);font-size:12px}.landing-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.landing-days>div{flex-direction:column;gap:6px;min-width:0;display:flex}.landing-dow,.landing-name{text-align:center;font-size:11px}.landing-dow{color:var(--muted);font-weight:600}.landing-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);overflow:hidden}.landing-track{box-sizing:border-box;background:var(--raised);border-radius:8px;flex-direction:column;justify-content:flex-end;height:96px;padding:4px;display:flex}.landing-track span{border-radius:5px}.landing-zones{border-top:1px solid var(--line-soft);color:var(--text-strong);flex-wrap:wrap;gap:.4rem .9rem;padding-top:.75rem;font-size:12px;display:flex}.landing-zones span{align-items:center;gap:6px;display:flex}.landing-zones i{border-radius:50%;width:8px;height:8px}.landing-band{border-top:1px solid var(--line);background:var(--surface)}.landing-inner{box-sizing:border-box;flex-direction:column;gap:1.75rem;max-width:1180px;margin:0 auto;padding:3.5rem 1.25rem;display:flex}.landing h2{letter-spacing:-.02em;margin:0;font-size:1.85rem;font-weight:700}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{border:1px solid var(--line);background:var(--raised);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.landing-steps h3,.landing-steps p{margin:0}.landing-steps h3{font-size:1.2rem}.landing-steps p{color:var(--text-strong)}.landing-step-number{border:1px solid var(--blue);width:32px;height:32px;color:var(--link);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.landing-yours{box-sizing:border-box;flex-wrap:wrap;align-items:flex-start;gap:2rem;max-width:1180px;margin:0 auto;padding:3.5rem 1.25rem 4.5rem;display:flex}.landing-yours>div{flex-direction:column;flex:300px;gap:.6rem;display:flex}.landing-yours p{max-width:28rem;color:var(--text-strong);margin:0}.landing-yours ul{flex:2 480px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.landing-yours li{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:.6rem;padding:.9rem;display:flex}.landing-yours li svg{color:var(--green);flex:none;margin-top:1px}.landing-yours li span span{color:var(--muted)}@media (width<=30rem){.landing-header .brand-name{display:none}.landing-hero{padding-top:2.5rem}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11151c;--surface:#1a2029;--raised:#222b37;--line:#2c3643;--line-soft:#262f3b;--text:#e6edf3;--text-strong:#c3cdd9;--muted:#8b97a7;--blue:#4f9cf9;--on-blue:#0b1220;--link:#7fb6fb;--green:#3fb68b;--red:#ef5b5b;--amber:#f2a93b;font-variant-numeric:tabular-nums;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--link)}a:hover{color:var(--text)}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--raised);color:var(--text);cursor:pointer;border-radius:10px;padding:.4rem .85rem}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:.35rem .5rem}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}[role=alert]{color:var(--red)}nav button[aria-pressed=true],.workouts button[aria-pressed=true]{outline:2px solid;font-weight:700}.filters{flex-wrap:wrap;align-items:end;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.filters label{gap:.2rem;display:grid}.library{grid-template-columns:minmax(14rem,1fr) 2fr;align-items:start;gap:1rem;display:grid}@media (width<=40rem){.library{grid-template-columns:1fr}}.workouts{gap:.35rem;max-height:32rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.workouts button{text-align:left;width:100%}.workouts button span{opacity:.8;font-size:.85em}.outline{padding-left:1.2rem}.outline span{font-weight:600}:root{--zone-1:#8ecae6;--zone-2:#52b788;--zone-3:#f2cc40;--zone-4:#f4813a;--zone-5:#d62839;--zone-free:#9aa0a6}.timeline{border-radius:.25rem;gap:1px;height:2.5rem;margin:.75rem 0;display:flex;overflow:hidden}.timeline span{flex-basis:0;min-width:2px}.zone-1{background:var(--zone-1)}.zone-2{background:var(--zone-2)}.zone-3{background:var(--zone-3)}.zone-4{background:var(--zone-4)}.zone-5{background:var(--zone-5)}.zone-free{background:var(--zone-free)}:root{--window:#2a2018;--accent:var(--blue);--phone-bg:#15294d;--phone-line:#4a74c0;--phone-ink:#a9c6f5;--draft-bg:#3a2c0c;--draft-line:#d99a3a;--ok-bg:#12301d;--ok-line:#2f7a4a;--ok-ink:#8fdba8;--warn-bg:#3a2c0c}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.75rem 0;display:flex}.toolbar [aria-pressed=true]{outline:2px solid;font-weight:700}.toolbar [role=group]{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:2px;padding:3px;display:flex}.toolbar [role=group] button{color:var(--muted);background:0 0;border:0;border-radius:7px}.toolbar [role=group] [aria-pressed=true]{background:var(--line);color:var(--text);outline:0}.hint{opacity:.75;font-size:.9em}.unpublished{color:var(--draft-line);margin-left:auto;font-weight:600}.week-state{margin-left:auto;font-size:.857rem;font-weight:600}.week-state.published{color:var(--muted)}.week-state.unpublished{color:var(--draft-line)}.banner{border:1px solid var(--line);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:.5rem 0;padding:.5rem .75rem;display:flex}.banner p{margin:0}.banner.phone{background:var(--phone-bg);border-color:var(--phone-line);color:var(--phone-ink)}.banner.warning{background:var(--warn-bg);border-color:var(--draft-line)}.plan{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start;gap:1rem;display:grid}@media (width<=700px){.plan{grid-template-columns:minmax(0,1fr)}}.month{border:1px solid var(--line);border-radius:.5rem;font-size:.85rem;display:grid;overflow:hidden}.month-head,.month-week{grid-template-columns:2rem repeat(7,minmax(0,1fr)) 7.5rem;display:grid}.week-total{border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex}.week-total button{text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:flex-start;gap:.2rem;padding:.5rem;display:flex}.week-total button:hover{background:var(--raised)}.week-total span{color:var(--muted)}.week-total .split-bar{width:100%}.month-head>span{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:.3rem;font-size:.75rem;font-weight:700}.wk{text-align:center;opacity:.7;padding:.3rem .2rem;font-family:ui-monospace,monospace;font-size:.75rem}.day{border-left:1px solid var(--line);border-bottom:1px solid var(--line);align-content:start;gap:.2rem;min-width:0;min-height:5.5rem;padding:.2rem;display:grid}.day,.week-day{cursor:pointer}.day.window,.week-day.window{background:var(--window)}.day.outside .date{opacity:.55}.day.selected,.week-day.selected{outline-offset:-2px;outline:2px solid}.date{cursor:pointer;background:0 0;border:0;border-radius:999px;justify-self:start;padding:.1rem .35rem;font-family:ui-monospace,monospace;font-size:.8rem}.date.today{background:var(--accent);color:var(--on-blue)}.more{text-align:left;cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:.75rem;text-decoration:underline}.chip{--stripe:var(--zone-free);border:1px solid var(--line);border-left:4px solid var(--stripe);background:var(--surface);width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;border-radius:.35rem;align-items:center;gap:.3rem;padding:.15rem .3rem;font-size:.75rem;display:flex}.chip.z1{--stripe:var(--zone-1)}.chip.z2{--stripe:var(--zone-2)}.chip.z3{--stripe:var(--zone-3)}.chip.z4{--stripe:var(--zone-4)}.chip.z5{--stripe:var(--zone-5)}.chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chip-time,.chip-length{opacity:.8;font-family:ui-monospace,monospace}.chip[aria-pressed=true]{outline:2px solid}.chip.edited{border-style:dashed;border-color:var(--draft-line);background:var(--draft-bg)}.chip.phone{border-color:var(--phone-line);background:var(--phone-bg);color:var(--phone-ink)}.chip.conflict{border-color:var(--draft-line);border-width:2px}.chip.skipped .chip-name{text-decoration:line-through}.chip.skipped,.chip.before{opacity:.6}.mark{white-space:nowrap;border-radius:.25rem;padding:0 .25rem;font-size:.65rem;font-weight:800}.mark.watch{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line)}.mark.edited,.mark.conflict{border:1px dashed var(--draft-line)}.mark.phone{border:1px solid var(--phone-line)}.weeks{min-width:0}.week{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:1rem;padding:.875rem;overflow-x:auto}.week-title{margin:0 0 .25rem;font-size:1.07rem}.week-figures{flex-wrap:wrap;align-items:center;gap:.25rem .9rem;margin:0 0 .6rem;display:flex}.split-bar{background:var(--raised);border-radius:3px;gap:1px;width:6.9rem;height:6px;display:inline-flex;overflow:hidden}.split-bar span{flex-basis:0}.split-bar .easy{background:var(--blue)}.split-bar .moderate{background:var(--green)}.split-bar .hard{background:var(--red)}.week-days{grid-template-columns:repeat(7,minmax(7.5rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.week-day{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:.4rem;min-width:0;min-height:8rem;padding:.4rem;display:flex}.week-day .date{align-self:flex-start}.week-sessions{gap:.3rem;display:grid}.week-sessions .chip{padding:.3rem .5rem;font-size:.9rem}.rest{opacity:.6;padding:.3rem 0;font-size:.85rem}.panel{border:1px solid var(--line);border-radius:.5rem;gap:.5rem;min-width:0;padding:.75rem;display:grid}.panel h3,.panel p{margin:0}.panel-sessions{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.panel-sessions button{text-align:left;width:100%}.status.phone{color:var(--phone-ink);background:var(--phone-bg);border-radius:.35rem;padding:.3rem .5rem}.status.edited,.status.conflict,.warning{background:var(--draft-bg);border-radius:.35rem;padding:.3rem .5rem}.move,.adding{flex-wrap:wrap;align-items:end;gap:.5rem .75rem;display:flex}.move label,.adding label{gap:.15rem;font-size:.85rem;display:grid}.adding{background:var(--window);border:1px solid var(--line);border-radius:.5rem;margin-bottom:.75rem;padding:.5rem .75rem}.added{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line);border-radius:.35rem;padding:.3rem .5rem}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.danger{color:var(--red);border-color:var(--red)}.confirm{border:1px solid var(--red);border-radius:.35rem;padding:.5rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-blue);font-weight:700}main.center{place-items:center;min-height:100vh;display:grid}.card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:.75rem;width:min(24rem,100%);padding:1.5rem;box-shadow:0 .5rem 1.5rem #0006}.card h1{color:var(--accent);margin:0 0 .25rem}.card .tagline{opacity:.8;margin-top:0}.card button.primary{width:100%;margin-top:.5rem;padding:.6rem 1rem}.modal-backdrop{z-index:20;background:#0009;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:.75rem;width:min(34rem,100%);max-height:90vh;padding:1rem 1.25rem;overflow-y:auto}.modal h2{margin-top:0}.modal label{gap:.2rem;display:grid}.modal textarea{box-sizing:border-box;width:100%;font-family:ui-monospace,monospace;font-size:.8rem}.side{flex-direction:column;gap:1rem;min-width:0;display:flex}.library-panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.library-head{justify-content:space-between;align-items:center;display:flex}.library-head h2{margin:0;font-size:1.14rem}.library-head button{color:var(--muted);background:0 0;border:0;font-size:1.3rem;line-height:1}.library-panel label{color:var(--muted);align-items:center;gap:.5rem;display:flex}.library-list{flex-direction:column;gap:.5rem;max-height:16rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.library-list li{border:1px solid var(--line);background:var(--raised);border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.library-list li div{flex-direction:column;min-width:0;display:flex}.library-list small,.library-list span{color:var(--muted)}.library-strength{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.library-strength h3{margin:0;font-size:1rem}.day.drop-over,.week-day.drop-over{outline:2px dashed var(--blue);outline-offset:-2px;background:#4f9cf91f}.button-link{border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:10px;padding:.4rem .85rem;text-decoration:none;display:inline-block}.button-link:hover{color:var(--text);border-color:var(--blue)}.coach-head{align-items:center;gap:.5rem;display:flex}.coach-head h3{margin:0}.coach-head button{margin-left:auto}.coach textarea{width:100%}.race-flag{background:var(--red);color:var(--bg);border-radius:999px;margin:.1rem 0 0 .3rem;padding:0 .4rem;font-size:.7rem;font-weight:700;display:inline-block}.race-day{color:var(--red);margin:0 0 .5rem;font-weight:700}.shell{flex-direction:column;min-height:100vh;display:flex}.shell main{box-sizing:border-box;flex:1;width:100%;max-width:92rem;margin:0 auto;padding:1.5rem 1.75rem}.topbar{z-index:10;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;padding:.75rem 1.75rem;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:17px;font-weight:800;text-decoration:none;display:flex}.brand-mark{background:var(--blue);color:var(--on-blue);flex:none;justify-content:center;align-items:center;display:flex}.topbar nav{gap:2px;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:.5rem .9rem;font-weight:500;text-decoration:none}.topbar nav a:hover{color:var(--text)}.topbar nav a[aria-current=page]{background:var(--raised);color:var(--text);font-weight:600}.topbar .spacer{flex:1 1 0}.icon-button{box-sizing:border-box;border:1px solid var(--line);background:var(--raised);width:36px;height:36px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex}.icon-button[aria-current=page]{border-color:var(--blue)}.icon-button.round{border-radius:50%}.account{position:relative}.account-menu{z-index:20;box-sizing:border-box;border:1px solid var(--line);background:var(--surface);border-radius:10px;width:min(18rem,100vw - 2rem);padding:.75rem 1rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 .5rem 1.5rem #0006}.account-menu p{overflow-wrap:anywhere;margin:0 0 .6rem}.footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:13px}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{color:var(--text);text-decoration:underline}.footer-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:92rem;margin:0 auto;padding:1.75rem 1.75rem 1.25rem;display:grid}.footer-col{flex-direction:column;gap:.4rem;display:flex}.footer-name{color:var(--text);font-size:15px;font-weight:800}.footer-heading{color:var(--text-strong);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.footer-legal{box-sizing:border-box;border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:.5rem;max-width:92rem;margin:0 auto;padding:.9rem 1.75rem 1.4rem;font-size:12px;display:flex}.page-title{letter-spacing:-.02em;margin:0 0 1rem;font-size:28px;font-weight:700}.settings-page{max-width:48rem}.settings-page h2{margin:1.5rem 0 .5rem;font-size:1rem}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem 1rem;display:grid}.settings-box label{gap:.15rem;font-size:.85rem;display:grid}.settings-box p{color:var(--red);margin:.25rem 0 0;font-size:.8rem}.race-date label{gap:.15rem;font-size:.85rem;display:grid}.race-date .problem{color:var(--red)}.race-date .note{color:var(--muted)}.race-date p{margin:.25rem 0 0;font-size:.8rem}.race-date input{box-sizing:border-box;width:100%;min-width:0}@media (width<=40rem){.shell main,.topbar,.footer-grid,.footer-legal{padding-left:1rem;padding-right:1rem}}@media (width<=30rem){.topbar{flex-wrap:nowrap;gap:.5rem}.brand-name{display:none}.topbar nav a{padding:.5rem .6rem}}.save-status{color:var(--muted);white-space:nowrap;font-size:.857rem}.save-status.pending{color:var(--draft-line)}.save-status.problem,.save-status.problem button{color:var(--red)}.save-status button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.settings-layout{grid-template-columns:11rem minmax(0,1fr);align-items:start;gap:2rem;display:grid}.settings-sections{gap:.25rem;display:grid;position:sticky;top:1rem}.settings-sections button{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.settings-sections button:hover{color:var(--text);background:var(--surface)}.settings-sections button[aria-selected=true]{color:var(--text);background:var(--surface);border-color:var(--line)}.settings-flag{background:var(--red);width:1.1rem;height:1.1rem;color:var(--bg);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:inline-grid}.settings-content h2:first-child,.settings-content section>h2:first-child{margin-top:0}@media (width<=40rem){.settings-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.settings-sections{flex-wrap:wrap;display:flex;position:static}.settings-sections button{width:auto}}.settings-device{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-top:1rem;padding-top:1rem;display:flex}.settings-device p{margin:.2rem 0 0}.settings-device-link{border:1px solid var(--line);background:var(--raised);min-height:40px;color:var(--text);border-radius:10px;align-items:center;padding:0 1rem;font-weight:700;text-decoration:none;display:inline-flex}
