:root{--home-arrival:.2s;--welcome-duration:1.1s}.training-shell[data-screen=app]{background:var(--background)}.training-shell[data-screen=app] .shell-main{max-width:64rem}.home-content{animation:home-arrive var(--home-arrival) var(--ease-ios) both;padding:.25rem .25rem 0}.home-header{justify-content:space-between;align-items:center;gap:1rem;margin:.25rem 0 1.25rem;display:flex}.home-header h1{font:400 clamp(1.5rem, 6vw, 2rem)/1.1 var(--font-display);letter-spacing:-.04em;outline-offset:5px}.home-profile{background:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.home-hero{border-radius:var(--radius-card);background:var(--ink);color:var(--bone);box-shadow:var(--shadow-elev-2);overflow:hidden}.home-hero-art{aspect-ratio:2.15;width:100%;overflow:hidden}.corner-scene{aspect-ratio:16/9;background:var(--ink);width:100%;height:100%;display:block;overflow:hidden}.corner-scene img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.home-hero-copy{padding:1.125rem 1.25rem .75rem;position:relative}.home-hero-copy h2{font:400 clamp(1.75rem, 7vw, 2.6rem)/1.1 var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin-top:.5rem}.home-workout-detail{color:color-mix(in oklch, var(--bone) 80%, transparent);margin:.5rem 0 1rem;font-size:1.0625rem}.home-train{border-radius:var(--radius-control);background:var(--corner-red);min-height:54px;color:var(--bone);box-shadow:var(--shadow-elev-1);transition:transform .16s var(--ease-ios);justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:1.0625rem;font-weight:600;display:flex}.home-train:active{transform:scale(.98)}.home-build{text-underline-offset:4px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;font-size:.9375rem;text-decoration:underline;display:flex}.home-ready{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.875rem;padding:.875rem 1rem;display:flex}.home-ready h2{overflow-wrap:anywhere;margin:.25rem 0;font-size:1rem;font-weight:600;line-height:1.3}.home-ready .eyebrow{font-size:.625rem}.home-quick-train{border:1px solid var(--border);border-radius:var(--radius-control);min-height:48px;color:var(--foreground);flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-weight:600;display:inline-flex}.home-discovery{gap:1rem;margin-top:1rem;display:grid}.home-section-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.home-section-heading h2{font:400 clamp(1.125rem, 4.5vw, 1.4rem)/1.2 var(--font-display);letter-spacing:-.025em}.home-link{min-height:44px;color:var(--primary);text-underline-offset:4px;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;text-decoration:underline;display:inline-flex}.home-link:disabled{opacity:.65}.home-preview{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-elev-1)}.home-media-state{align-items:center;gap:1rem;min-height:124px;padding:.875rem 1rem;display:flex}.home-media-state h3,.home-gym h2,.home-history-empty h3{font-size:1rem;font-weight:600;line-height:1.3}.home-media-state p{margin-top:.2rem;font-size:.9375rem;line-height:1.4}.home-play-mark{border:1.5px solid;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:52px;display:grid}.home-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;display:grid}.home-clip{min-width:0}.home-clip-poster{aspect-ratio:4/3;border-radius:var(--radius-control);background:var(--ink);color:var(--bone);box-shadow:var(--shadow-elev-1);place-items:center;display:grid;position:relative;overflow:hidden}.home-clip-type{background:var(--ink);color:var(--bone);border-radius:.25rem;padding:.05rem .4rem;font-size:.6875rem;position:absolute;bottom:.375rem;left:.375rem}.home-clip p{text-overflow:ellipsis;white-space:nowrap;margin-top:.4rem;font-size:.8125rem;overflow:hidden}.home-gym{align-items:center;gap:1.25rem;padding:1rem;display:flex}.home-gym h2{margin-bottom:.3rem}.home-gym-address{color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.875rem}.home-history{margin-top:1.25rem}.home-history-row,.home-history-empty{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem .25rem;display:flex}.home-history-empty{justify-content:flex-start;padding-left:.75rem}.home-history-latest{align-items:center;gap:.75rem;min-height:44px;font-size:1.125rem;font-weight:600;display:inline-flex}.home-learn{align-items:center;gap:1rem;margin-top:.5rem;padding:1rem;display:flex}.home-footer{border-top:1px solid var(--border);justify-content:center;margin-top:1rem;display:flex}.home-footer .home-link{color:var(--muted-foreground);font-size:.8125rem}.home-content[data-welcoming] .home-hero-art{visibility:hidden}.corner-intro{z-index:100;color:var(--bone);isolation:isolate;position:fixed;inset:0}.corner-intro-backdrop{background:var(--ink);animation:welcome-backdrop var(--welcome-duration) var(--ease-ios) both;position:absolute;inset:0}.corner-intro-skip{z-index:2;top:calc(var(--safe-top) + 1rem);right:calc(var(--safe-right) + 1rem);border-radius:var(--radius-control);background:var(--ink);min-height:44px;color:var(--bone);text-underline-offset:4px;padding:.5rem 1rem;text-decoration:underline;position:absolute}.corner-intro-scene{border-radius:var(--radius-card);transform-origin:50%;animation:welcome-land var(--welcome-duration) var(--ease-ios) both;position:absolute;overflow:hidden}.corner-intro-title{text-align:center;font:400 clamp(2rem, 8vw, 3.5rem)/1.05 var(--font-display);letter-spacing:-.04em;animation:welcome-title var(--welcome-duration) var(--ease-ios) both;position:absolute;top:64%;left:1.5rem;right:1.5rem}.corner-intro .corner-scene img{animation:photo-arrive var(--welcome-duration) var(--ease-ios) both}@keyframes photo-arrive{0%{transform:scale(1.065)translate(-.8%)}to{transform:scale(1)translate(0)}}@keyframes home-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes welcome-land{0%,42%{transform:translate(var(--intro-x), var(--intro-y)) scale(var(--intro-scale))}to{transform:none}}@keyframes welcome-backdrop{0%,42%{opacity:1}to{opacity:0}}@keyframes welcome-title{0%{opacity:0;transform:translateY(5px)}16%,43%{opacity:1;transform:none}76%,to{opacity:0;transform:translateY(-4px)}}@media (width>=640px){.home-content{padding:.5rem .75rem 0}.home-header{margin-bottom:1.5rem}.home-hero{grid-template-columns:1fr 1fr;align-items:center;min-height:320px;display:grid}.home-hero-art{aspect-ratio:auto;grid-area:1/2;height:100%}.home-hero-copy{grid-area:1/1;padding:1.75rem 1.25rem 1rem 1.75rem}.home-discovery{grid-template-columns:1.2fr 1fr;align-items:end;gap:1.25rem;margin-top:1.25rem}.home-gym{min-height:124px}}@media (prefers-reduced-motion:reduce){.home-content,.corner-intro-scene,.corner-intro .corner-scene img{animation:none;transform:none}.corner-intro-title{display:none}.corner-intro-backdrop{animation:.16s linear reverse both home-arrive}.home-train{transition:none}}.ring-welcome{z-index:100;isolation:isolate;background:var(--ink);color:var(--bone);opacity:1;transition:opacity .24s ease-out;position:fixed;inset:0;overflow:hidden}.ring-welcome[data-exiting=true]{opacity:0}.ring-welcome[data-exiting=true][data-native-fade]{opacity:1}.ring-welcome[data-exiting=true][data-native-fade]>*{opacity:0;transition:opacity .24s ease-out;animation:none}.ring-welcome-media{object-fit:cover;object-position:50% 50%;width:100%;height:100%;position:absolute;inset:0}.ring-welcome-video{opacity:0;transition:opacity .12s linear}.ring-welcome[data-ready=true] .ring-welcome-video{opacity:1}.ring-welcome-brand{z-index:2;top:max(10.2vh, calc(env(safe-area-inset-top) + 28px));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute}.ring-welcome-brand img{aspect-ratio:1;border-radius:24%;width:clamp(72px,22.56vw,112px);height:auto}.ring-welcome-brand h2{letter-spacing:-.035em;color:var(--bone);text-shadow:0 2px 12px var(--ink);white-space:nowrap;margin:0;font-family:Archivo Black,sans-serif;font-size:clamp(30px,9.6vw,64px);font-weight:400;line-height:1.1}.ring-welcome-brand[data-visible=false]{opacity:0}.ring-welcome-brand[data-visible=true][data-animated=true]{animation:.9s ease-out .15s both ring-brand-in}@keyframes ring-brand-in{0%{opacity:0}to{opacity:1}}.ring-welcome-skip{z-index:3;bottom:max(24px, calc(env(safe-area-inset-bottom) + 16px));right:max(24px, env(safe-area-inset-right));border:1px solid var(--bone);border-radius:var(--radius);background:var(--ink);min-height:44px;color:var(--bone);padding:10px 18px;font-family:Hind,sans-serif;font-size:16px;position:absolute}.ring-welcome-skip:focus-visible{outline:3px solid var(--brass);outline-offset:4px}.ring-welcome-loading{left:24px;right:24px;bottom:max(32px, env(safe-area-inset-bottom));border-radius:var(--radius);background:var(--ink);text-align:center;padding:20px;position:absolute}.ring-welcome-loading button{min-height:44px;text-decoration:underline}.ring-welcome-preparing{bottom:max(92px, calc(env(safe-area-inset-bottom) + 84px));border-radius:var(--radius);background:var(--ink);width:fit-content;color:var(--bone);justify-content:center;align-items:center;gap:8px;margin-inline:auto;padding:10px 16px;display:flex;position:absolute;left:24px;right:24px}@media (prefers-reduced-motion:reduce){.ring-welcome,.ring-welcome-video{transition:none}.ring-welcome-brand{animation:none!important}}@media (height<=480px){.ring-welcome-brand{top:max(24px, env(safe-area-inset-top));gap:8px}.ring-welcome-brand img{width:60px}.ring-welcome-brand h2{font-size:32px}}.builder-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.builder-modes button{white-space:normal;overflow-wrap:normal;word-break:normal;flex-direction:column;gap:.1rem;min-width:0;height:auto;min-height:3.5rem;padding:.5rem .25rem;font-size:clamp(.8rem,3.2vw,1rem);line-height:1.2;display:flex}.builder-modes small{opacity:.85;font-size:.65rem;font-weight:500}.workout-setup,.builder-review{min-width:0}.workout-setup button,.builder-review button,.session-editor button{overflow-wrap:normal;word-break:normal}.builder-time-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.builder-time-fields label{flex-direction:column;justify-content:space-between;min-width:0;font-size:.875rem;font-weight:600;display:flex}.builder-time-fields select{min-width:0;min-height:3rem;padding-inline:.7rem}.builder-total-preview{flex-direction:column;gap:.15rem;margin-top:1rem;display:flex}.builder-total-preview strong{font-size:1.125rem}.builder-total-preview span{color:var(--muted-foreground);font-size:.875rem}.builder-focuses{flex-wrap:wrap;gap:.5rem;display:flex}.builder-focuses button{border:1px solid var(--border);border-radius:var(--radius-control,.75rem);justify-content:space-between;align-items:center;gap:.5rem;min-height:2.75rem;padding:.65rem .85rem;font-size:.95rem;font-weight:600;display:flex}.builder-focuses button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.builder-focuses svg{flex-shrink:0;width:1rem;height:1rem}.builder-advanced{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1.25rem}.builder-advanced>summary{cursor:pointer;min-height:3rem;padding-block:.75rem;font-weight:600}.builder-advanced>summary span{color:var(--muted-foreground);margin-left:.35rem;font-size:.8rem;font-weight:400}.builder-advanced[open]{padding-bottom:1rem}.builder-error{border:1px solid var(--primary);border-radius:.75rem;margin-top:1rem;padding:.75rem;font-size:.9rem}.builder-eyebrow{color:var(--muted-foreground);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:flex}.builder-eyebrow svg{width:1rem;height:1rem}.builder-review{border:1px solid var(--border);border-radius:var(--radius-card,1.25rem);background:var(--card);padding:1.25rem}.builder-review-title{outline-offset:.25rem;scroll-margin-top:6rem}.builder-total{padding-block:1.25rem .75rem}.builder-total>strong{font-variant-numeric:tabular-nums;margin-right:.65rem;font-size:2.5rem;font-weight:700;line-height:1.1}.builder-total>span{color:var(--muted-foreground)}.builder-total p{margin-top:.65rem;font-weight:600}.builder-timing-note{font-size:.875rem}.builder-round-details{border-block:1px solid var(--border);margin-block:1rem}.builder-round-details summary{cursor:pointer;min-height:2.75rem;padding-block:.85rem;font-weight:600}.builder-round-details li{border-top:1px solid var(--border);justify-content:space-between;gap:1rem;padding-block:.65rem;display:flex}.builder-round-details li>span{font-variant-numeric:tabular-nums;flex-shrink:0}.builder-round-details li p{color:var(--muted-foreground);margin-top:.2rem;font-size:.875rem}.builder-round-details li[data-rest]{color:var(--muted-foreground);font-size:.85rem}.builder-review-actions{gap:.75rem;display:grid}.builder-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.builder-secondary-actions button{min-width:0;padding-inline:.5rem;font-size:clamp(.8rem,3.2vw,1rem)}.builder-secondary-actions svg{flex-shrink:0}.builder-description{resize:vertical;min-height:10rem;font-weight:400;line-height:1.5}.builder-description-meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.builder-description-meta>span{color:var(--muted-foreground);flex-shrink:0;font-size:.75rem}.builder-generation-status{background:var(--muted);border-radius:.75rem;margin-top:1rem;padding:1rem}.builder-generation-status>p:first-child{align-items:center;gap:.6rem;font-weight:600;display:flex}.builder-spinner{flex-shrink:0;width:1.25rem;height:1.25rem;animation:1s linear infinite workout-builder-spin}@keyframes workout-builder-spin{to{transform:rotate(360deg)}}@media (width<=440px){.builder-time-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-time-fields label:last-child:nth-child(3){grid-column:1/-1}.builder-secondary-actions button{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.builder-spinner{animation:none}}.builder-review-focuses{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.builder-review-focuses>span{border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem;font-size:.8rem}.builder-voice-summary{margin-top:.75rem;font-size:.875rem}.follow-along{text-align:center;gap:1rem;min-width:0;display:grid}.follow-along__video{object-fit:contain;aspect-ratio:3/4;background:var(--ink,#111417);border-radius:1rem;width:100%;max-height:min(50dvh,32rem)}.follow-along__cue{gap:.5rem;padding:1rem .25rem;display:grid}.follow-along__eyebrow{color:var(--muted-foreground);font-size:.875rem}.follow-along__text{text-wrap:balance;overflow-wrap:break-word;font-family:Archivo Black,sans-serif;font-size:clamp(1.65rem,7vw,2.75rem);line-height:1.15}.follow-along__sequence{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.follow-along__sequence li{border:1px solid var(--border);border-radius:.65rem;align-items:center;gap:.4rem;padding:.4rem .7rem;display:inline-flex}.follow-along__sequence li span{color:var(--muted-foreground);font-size:.8em}.follow-along__sequence li[aria-current=step]{border-color:var(--primary);font-weight:700}.follow-along__stance,.follow-along__status{color:var(--muted-foreground);font-size:.875rem;line-height:1.45}.follow-along__performers{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.follow-along__performers legend{margin:0 auto .5rem;font-size:.875rem}.follow-along__performers button{border:1px solid var(--border);border-radius:.65rem;min-height:44px;padding:.5rem .75rem}.follow-along__performers button[aria-pressed=true]{border-color:var(--primary)}.follow-along__performers button:disabled{opacity:.55}@media (prefers-reduced-motion:reduce){.follow-along__video{display:none}}.training-player .training-view-switch{border:1px solid var(--border);border-radius:14px;gap:4px;margin:16px 0;padding:4px;display:flex}.training-player .training-view-switch button{border-radius:10px;flex:1;min-width:0;min-height:44px;padding:8px;font-weight:600;line-height:1.3}.training-player .training-view-switch button[aria-pressed=true]{background:var(--bone);color:var(--ink)}.training-player .training-clock{text-align:left;justify-content:space-between;align-items:center;gap:16px;padding-block:8px 16px;display:flex}.training-clock>div{gap:2px;min-width:0;display:grid}.training-clock strong{font-size:1rem}.training-clock [role=timer]{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(2rem,9vw,3.5rem)}.training-player .round-controls{flex-wrap:wrap;justify-content:center;gap:12px;margin-block:16px;display:flex}.training-player .round-controls .round-start{letter-spacing:normal;text-transform:none;width:auto;min-width:150px;height:auto;min-height:56px;box-shadow:none;border-radius:14px;flex-direction:row;flex:1;gap:10px;padding:14px 18px;font-size:1rem}.training-player .round-controls .round-log{min-width:44px;min-height:44px;padding:8px}.training-player .round-controls>span:empty{display:none}.training-player .training-start-status{text-align:left;border:1px solid var(--border);background:var(--card);border-radius:14px;margin-block:12px;padding:14px}.training-start-status p{margin:0 0 10px}.training-start-status p:last-child{margin-bottom:0}.training-recovery-actions{gap:10px;display:grid}.training-recovery{text-align:center;padding:48px 12px}.training-recovery h2{font-size:1.75rem;font-weight:700}.training-current-cue{text-align:center;font-size:1.4rem;font-weight:700}.timer-save-row{gap:8px;margin-top:12px;display:flex}.timer-save-row input{flex:1;min-width:0}.training-shell .timer-save-row button{white-space:nowrap;overflow-wrap:normal;flex-shrink:0;min-width:68px}.training-shell:is([data-screen=timer],[data-screen=app]) .training-player[data-player]{padding-top:calc(var(--safe-top) + 52px);justify-content:flex-start}.training-player[data-player] .training-view-switch,.training-player[data-player] .training-clock{flex-shrink:0}.training-player .round-instruction{min-height:0;margin:12px 0}.training-player .round-next{margin-block:8px}@media (prefers-reduced-motion:reduce){.training-player{animation:none!important}}
