@font-face{font-family:TT Hoves;src:url(/assets/TT_Hoves_Pro_Regular-7d2BoZlQ.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:TT Hoves;src:url(/assets/TT_Hoves_Pro_Medium-CBuIrT5H.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:TT Hoves;src:url(/assets/TT_Hoves_Pro_DemiBold-6VxHwzJS.woff)format("woff");font-weight:600 700;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Regular-D96nn-Fd.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Medium-CQiCHMQy.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-SemiBold-BTfAzs1I.ttf)format("truetype");font-weight:600 700;font-style:normal;font-display:swap}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--grey-040:#f5f6f7;--grey-400:#90959d;--grey-800:#282a30;--grey-840:#23252a;--grey-860:#1a1c20;--grey-900:#15171a;--grey-950:#0c0c0e;--green-300:#58eec1;--green-400:#21dea5;--green-950:#04352c;--orange-400:#ff9e2e;--red-300:#ff858a;--red-400:#f65459;--bg:var(--grey-950);--surface:var(--grey-900);--surface-2:var(--grey-860);--text:var(--grey-040);--muted:var(--grey-400);--primary:var(--green-400);--primary-strong:var(--green-300);--primary-ink:#fff;--warning:var(--orange-400);--danger:var(--red-400);--danger-strong:var(--red-300);--line:#ffffff14;--line-strong:#ffffff1f;--glass:#0c0c0ed6;--glass-line:#ffffff14;--glass-fill:#ffffff1a;--blur:blur(14px);--blur-chrome:blur(4px);--radius:8px;--radius-pill:999px;--pad:16px;--dock-bottom:calc(8px + env(safe-area-inset-bottom));--dock-clearance:calc(96px + env(safe-area-inset-bottom));--font:"TT Hoves", system-ui, sans-serif;--font-title:"Space Grotesk", system-ui, sans-serif;font-family:var(--font);font-feature-settings:"ss01" on, "cv11" on;background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.35}*{box-sizing:border-box}html,body{height:100%;min-height:100dvh;overscroll-behavior:none;background-color:var(--bg);-webkit-tap-highlight-color:transparent;min-height:-webkit-fill-available;overflow:hidden}#root{overscroll-behavior:none;flex-direction:column;width:100%;display:flex;position:fixed;inset:0}html.standalone,html.standalone body{height:-webkit-fill-available;height:100vh;min-height:-webkit-fill-available;min-height:100vh;position:relative}html.standalone #root{width:100%;height:-webkit-fill-available;height:100vh;min-height:-webkit-fill-available;min-height:100vh;position:relative;inset:auto}html.standalone .frost-dock,html.standalone .sheet-backdrop,html.standalone .lightbox{position:absolute}body{background:var(--bg);margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;background:0 0;border:0;padding:0}a{touch-action:manipulation;-webkit-touch-callout:none}img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable]:not([contenteditable=false]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;font-size:16px}h1,h2,p{margin:0}h1,.stat b,.best-volume b,.card-title,.card-title strong,.program-pick strong,.program-pick-row strong,.program-pick-custom strong,.tab-nav>button,.topbar-identity strong{font-family:var(--font-title)}.shell{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex}.app{flex-direction:column;flex:1;width:min(440px,100%);height:100%;min-height:0;margin:0 auto;display:flex;position:relative}.swipe-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.app-body{overscroll-behavior:contain;min-height:0;padding:calc(24px + env(safe-area-inset-top)) var(--pad) var(--dock-clearance);scroll-padding-bottom:var(--dock-clearance);flex-direction:column;flex:1;gap:16px;display:flex;overflow:auto}.app.session .app-body,.app.detail .app-body{padding-top:0}.kicker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:14px}.hero{flex-direction:column;gap:8px;display:flex}.app .hero{margin-bottom:16px}.place{color:var(--muted);font-size:14px;text-decoration:none}.hero h1{letter-spacing:-.04em;font-size:40px;line-height:.95}.stat-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 12px}.stat b{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:32px;display:block}.stat span{color:var(--muted);font-size:14px}.best-volume{padding:16px 16px 14px}.best-volume b{color:var(--primary);font-size:48px;line-height:.95}.best-volume span{letter-spacing:.04em;text-transform:uppercase}.primary,.phantom{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 20px;font-size:16px;font-weight:650;display:inline-flex}.primary{background:var(--primary);color:var(--grey-950)}.primary:hover:not(:disabled){background:var(--primary-strong)}.phantom{border:1px solid var(--line-strong);background:#ffffff14}.stack{flex-direction:column;gap:8px;display:flex}.section-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:14px}.card,.exercise{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:left;padding:14px}.card{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-copy{text-align:left;flex:1;min-width:0;min-height:44px}.card-title,.hero-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.hero-title{gap:10px}.hero-title:has(>.catalog-search){flex-wrap:nowrap}.hero-title:has(>.catalog-search) h1{flex:1;min-width:0}.catalog-search.is-inline{margin:0;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;background:0 0;border-bottom:0;flex:none;width:220px;margin-inline:auto 0;padding:0;position:static}.thumb{object-fit:cover;border-radius:var(--radius);background:var(--surface-2);flex:none;width:40px;height:40px}img.thumb{cursor:zoom-in}.thumb.large{width:56px;height:56px}.thumb.featured{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;max-height:280px}.card strong,.exercise strong{font-size:16px;display:block}.card small,.exercise small,.meta{color:var(--muted);font-size:14px}.meta:has(.pt-chip){flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar>.icon-btn{flex:none}.topbar-identity{opacity:0;pointer-events:none;flex:1;min-width:0;transition:opacity .16s,transform .16s;transform:translateY(4px)}.topbar-identity.is-stuck{opacity:1;transform:none}.topbar-identity strong,.topbar-identity small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.topbar-identity strong{letter-spacing:-.03em;font-size:16px;font-weight:650;line-height:1.15}.topbar-identity small{color:var(--muted);font-size:13px;line-height:1.25}.topbar-end{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.entity-chrome{z-index:20;margin-inline:calc(-1 * var(--pad));padding:calc(12px + env(safe-area-inset-top)) var(--pad) 12px;background:var(--glass);-webkit-backdrop-filter:var(--blur-chrome);backdrop-filter:var(--blur-chrome);border-bottom:1px solid #0000;position:sticky;top:0}.entity-chrome.is-stuck{border-bottom-color:var(--glass-line)}.exercise{flex-direction:column;gap:12px;width:100%;display:flex}.app.session .exercise{scroll-margin-top:calc(88px + env(safe-area-inset-top));scroll-margin-bottom:var(--dock-clearance)}.exercise.collapsed{gap:0;padding:12px}.exercise.open:not(.done):not(.skipped){border-color:var(--primary)}.exercise-head{align-items:center;gap:8px;display:flex}.exercise-select{text-align:left;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-width:0;display:grid}.page-enter{flex-direction:column;gap:16px;display:flex}.sessions-home{flex-direction:column;gap:28px;display:flex}.sessions-home .hero{margin-bottom:0}.sessions-home .hero-title{flex-wrap:nowrap;justify-content:space-between}.sessions-home .hero-title h1{flex:1;min-width:0}.sessions-stats{flex-direction:column;gap:16px;display:flex}.fade-in{width:100%}.exercise-detail{flex-direction:column;gap:12px;display:flex}.exercise .cue{color:var(--muted);font-size:14px;line-height:1.4}.thumb-frame{border-radius:var(--radius);flex:none;width:40px;height:40px;display:block;position:relative;overflow:hidden}.thumb-frame.large{width:56px;height:56px}.thumb-done{color:var(--primary);pointer-events:none;background:#00000080;place-items:center;display:grid;position:absolute;inset:0}.exercise.skipped{opacity:.72}.empty{color:var(--muted);font-size:15px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.phantom.sm{min-height:40px;padding:0 14px;font-size:14px}.phantom:disabled{opacity:.35}.phantom.danger{color:var(--danger-strong)}.editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:14px;display:flex}.editor label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:13px;display:flex}.editor input,.editor textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);text-transform:none;letter-spacing:0;resize:vertical;width:100%;padding:12px 14px;font-size:16px}.editor input:focus,.editor textarea:focus{outline:1px solid var(--primary);outline-offset:1px}.editor-actions{flex-wrap:wrap;gap:8px;display:flex}.exercise.open .editor-actions .primary,.exercise.open .editor-actions .phantom{flex:1;min-height:52px}.program-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:14px;display:flex}.program-card-head{flex:1;align-items:center;gap:8px;min-height:0;display:flex}.program-card-head .program-pick{flex:1;min-width:0}.program-pick{text-align:left}.program-pick small{color:var(--muted);font-size:14px}.program-pick strong{margin-top:4px;font-size:18px;display:block}.field{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.field textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-transform:none;letter-spacing:0;padding:12px 14px;font-size:16px}.field textarea{resize:vertical;min-height:120px}.text-retry{color:var(--primary);font:inherit;background:0 0;border:0;padding:0}.sheet-footer-stack{flex-direction:column;gap:8px;display:flex}.ai-overview{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ai-overview li{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.ai-overview strong{display:block}.ai-overview small{color:var(--muted);font-size:14px}.ai-overview+.field textarea{min-height:72px}.app-body:has(>.catalog){padding-bottom:0;overflow:hidden}.catalog{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.catalog .hero{margin-bottom:0}.catalog-search{z-index:10;margin-inline:calc(-1 * var(--pad));padding:0 var(--pad) 12px;background:var(--glass);-webkit-backdrop-filter:var(--blur-chrome);backdrop-filter:var(--blur-chrome);border-bottom:1px solid var(--glass-line);flex-shrink:0;margin-top:-2px}.catalog-search.is-reveal{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border-bottom:0;grid-template-rows:0fr;margin-top:0;margin-bottom:-16px;padding-top:0;padding-bottom:0;transition:grid-template-rows .22s cubic-bezier(.22,1,.36,1),margin-bottom .22s cubic-bezier(.22,1,.36,1),padding-bottom .22s cubic-bezier(.22,1,.36,1);display:grid}.catalog-search.is-reveal>.catalog-search-clip{min-height:0;overflow:hidden}.catalog-search.is-reveal.is-open{background:var(--glass);-webkit-backdrop-filter:var(--blur-chrome);backdrop-filter:var(--blur-chrome);border-bottom:1px solid var(--glass-line);pointer-events:auto;grid-template-rows:1fr;margin-bottom:0;padding-bottom:12px}@media (prefers-reduced-motion:reduce){.catalog-search.is-reveal{transition:none}}.catalog-results{overscroll-behavior:contain;min-height:0;padding-bottom:var(--dock-clearance);scroll-padding-bottom:var(--dock-clearance);flex-direction:column;flex:1;gap:16px;display:flex;overflow:auto}.search-field{display:block}.search-input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:52px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;font-size:16px;display:flex}.search-input:focus-within{border-color:var(--primary)}.search-field input{min-width:0;min-height:52px;font:inherit;color:var(--text);appearance:none;background:0 0;border:0;border-radius:0;flex:1;padding:0;font-size:16px}.search-field input::placeholder{color:var(--muted);font-size:inherit}.search-field input:focus{outline:none}.frost-dock{z-index:25;left:max(16px,50vw - 204px);right:max(16px,50vw - 204px);bottom:var(--dock-bottom);border-radius:var(--radius-pill);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);position:fixed;box-shadow:0 8px 24px #00000059}.rest-bar{z-index:25;align-items:center;gap:10px;padding:10px 12px;display:flex}.rest-bar.on{background:#0c0c0ee6}.rest-progress{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.rest-progress span{color:var(--muted);font-variant-numeric:tabular-nums;min-width:4ch;font-size:14px;font-weight:650}.rest-progress-track{border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line);flex:1;min-width:0;height:6px;overflow:hidden}.rest-progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width .16s}.rest-count{letter-spacing:-.04em;font-variant-numeric:tabular-nums;flex:none;font-size:22px;font-weight:650}.auth-screen{width:min(440px,100%);min-height:0;padding:calc(28px + env(safe-area-inset-top)) var(--pad) calc(32px + env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:28px;margin:0 auto;display:flex}.auth-hero{text-align:center;width:100%}.auth-panel{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;display:flex}.auth-copy,.auth-error,.auth-panel>.empty{text-align:center;color:var(--muted)}.auth-error{color:var(--danger-strong)}.auth-panel>.primary{width:100%}.account-btn{border-radius:var(--radius-pill);border:1px solid var(--glass-line);background:var(--glass);width:44px;height:44px;color:var(--text);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);flex:none;place-items:center;display:grid}.account-sheet{flex-direction:column;gap:12px;display:flex}.account-sheet .overflow-menu button{justify-content:center;align-items:center;gap:8px;display:flex}.sync-status{z-index:44;top:calc(60px + env(safe-area-inset-top));border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);width:min(416px,100vw - 24px);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000047}.sync-status.error{color:var(--danger-strong)}.sync-status button{color:var(--text);flex:none;align-items:center;gap:6px;font-weight:650;display:inline-flex}.tab-nav{z-index:30;grid-template-columns:1fr 1fr 1fr;gap:4px;padding:5px;display:grid}.tab-nav>button{border-radius:var(--radius-pill);min-height:56px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:650;line-height:1.1;display:flex}.tab-nav>button.on{background:var(--glass-fill);color:var(--primary)}.heat-month{touch-action:pan-y;-webkit-user-select:none;user-select:none}.heat-month-head{justify-content:space-between;align-items:center;display:flex}.heat-month-controls{display:none}.heat{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.heat-label{color:var(--muted);text-align:center;letter-spacing:.04em;font-size:13px}.heat-cell{aspect-ratio:1;background:var(--surface-2);border:1px solid var(--line);border-radius:4px}.heat-cell.empty{background:0 0;border-color:#0000}.heat-cell.on{background:var(--primary);border-color:var(--primary);color:var(--green-950);place-items:center;display:grid}.heat-cell.on svg{width:52%;height:52%}.heat-cell.today{box-shadow:inset 0 0 0 2px var(--text)}.heat-cell.on.today{box-shadow:inset 0 0 0 2px var(--green-950)}.set-list{flex-direction:column;gap:10px;display:flex}.set-row{grid-template-columns:2rem 1fr;align-items:center;gap:8px;display:grid}.set-row.live>small{min-width:0}.set-row.live .set-controls{grid-column:2}.set-index{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650;line-height:1.35}.set-arrow,.set-result.expected{color:var(--muted)}.set-result.match,.actual-match .stepper b{color:var(--primary)}.set-result.different,.actual-different .stepper b{color:var(--warning)}.set-controls{flex-direction:column;gap:8px;display:flex}.stepper{align-items:center;gap:8px;display:flex}.stepper-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;min-width:3.2rem;font-size:13px}.stepper button{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;place-items:center;width:44px;height:44px;display:grid}.stepper b{text-align:center;font-variant-numeric:tabular-nums;min-width:4.5ch}html.scroll-lock,html.scroll-lock body{overscroll-behavior:none;overflow:hidden}.sheet-backdrop{z-index:40;touch-action:none;padding:0 16px var(--dock-bottom);background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop.is-keyboard{padding-bottom:8px}.sheet{width:min(440px,100%);max-height:82%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);padding:20px var(--pad) 20px;background:#15171aeb;border-radius:16px;flex-direction:column;gap:16px;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000059}.sheet.has-search{height:82%}.sheet-head,.sheet-search,.sheet-footer{flex-shrink:0}.sheet-footer{border-top:1px solid var(--line);padding-top:12px}.sheet-head{margin:-20px calc(-1 * var(--pad)) 0;padding:10px var(--pad) 8px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px}.sheet-handle{border-radius:var(--radius-pill);background:var(--muted);opacity:.55;flex:none;align-self:center;width:36px;height:4px}.sheet-title{font-family:var(--font-title);letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:20px;font-weight:650;line-height:1.2;overflow:hidden}.icon-btn{width:44px;height:44px;color:var(--text);flex:none;place-items:center;display:grid}.sheet-body{overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow:auto}.program-pick-row,.catalog-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;width:100%;min-height:52px;padding:14px;display:flex}.program-pick-row{flex-direction:column;align-items:flex-start;gap:4px}.program-pick-row.selected{border-color:var(--primary)}.program-pick-row:disabled{opacity:.4}.catalog-row strong,.program-pick-row strong{display:block}.catalog-row small,.program-pick-row small{color:var(--muted);font-size:14px}.program-pick-custom{text-align:left;border:1px dashed var(--line-strong);border-radius:var(--radius);background:0 0;align-items:center;gap:12px;width:100%;min-height:52px;padding:14px;display:flex}.program-pick-custom-mark{border-radius:var(--radius);border:1px dashed var(--line-strong);width:40px;height:40px;color:var(--primary);flex:none;place-items:center;display:grid}.program-pick-custom strong{display:block}.program-pick-custom small{color:var(--muted);font-size:14px}.editor-head{align-items:center;gap:12px;display:flex}.editor-head .editor-open{text-align:left;flex:1;min-width:0}.editor-head strong{display:block}.overflow{flex:none;align-self:center;align-items:center;display:flex;position:relative}.overflow-btn{border-radius:var(--radius);width:44px;height:44px;color:var(--text);flex:none;place-items:center;display:grid}.overflow-btn svg{display:block}.overflow.open .overflow-btn{background:var(--surface-2)}.overflow-menu{flex-direction:column;gap:8px;display:flex}.overflow-menu button{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);width:100%;min-height:52px;font-size:17px;font-weight:650}.overflow-menu button.danger{color:var(--danger-strong)}.overflow-menu button:disabled{opacity:.35}.program-ex{align-items:flex-start;width:100%}.program-ex.selected,.editor.selected{border-color:var(--primary)}.program-split,.program-split-pane{display:contents}.spark-wrap{color:var(--primary);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:visible}.spark{width:100%;height:72px;display:block;overflow:visible}.spark-guide{opacity:.35;pointer-events:none;background:currentColor;width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.spark-dot{pointer-events:none;background:currentColor;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.spark-tip{z-index:1;background:var(--bg);pointer-events:none;white-space:nowrap;border-radius:6px;flex-direction:column;gap:1px;padding:4px 8px;display:flex;position:absolute}.spark-tip b{font-family:var(--font-title);color:var(--text);font-size:15px;font-weight:650;line-height:1.1}.spark-tip span{color:var(--muted);font-size:13px}.primary:disabled{opacity:.4}.lightbox{z-index:80;padding:calc(72px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:var(--grey-950);touch-action:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.lightbox-image{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;touch-action:none;width:auto;max-width:100%;height:auto;max-height:100%}.lightbox-close{z-index:1;top:calc(8px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));background:var(--glass);width:56px;height:56px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line);color:var(--text);border-radius:50%;place-items:center;display:grid;position:absolute}.card.live{border-color:var(--primary)}.live-chip{border-radius:var(--radius-pill);background:var(--primary);color:var(--primary-ink);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:4px 9px 4px 7px;font-size:11px;font-weight:700;display:inline-flex}.live-chip svg{flex:none;animation:1.4s ease-in-out infinite live-pulse}.pt-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:4px 9px 4px 7px;font-size:11px;font-weight:700;display:inline-flex}.pt-chip.on{color:var(--text);border-color:var(--line-strong)}.pt-chip svg{flex:none}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.shell.session .tab-nav{display:none}.exercise-page,.programs-home,.program-page{flex-direction:column;gap:16px;display:flex}.sessions-lead,.exercise-lead{flex-direction:column;display:flex}.sessions-lead{gap:28px}.exercise-lead{gap:16px}@media (hover:hover) and (pointer:fine){.card:hover,.catalog-row:hover,.program-pick-row:hover,.program-card:hover,.program-pick-custom:hover,.exercise:hover,.editor:hover{border-color:var(--line-strong);background:var(--grey-840)}.card.live:hover,.program-pick-row.selected:hover,.program-ex.selected:hover,.editor.selected:hover,.exercise.open:not(.done):not(.skipped):hover,.heat-cell:not(.empty):hover{border-color:var(--primary)}.heat-cell.on:hover{filter:brightness(1.08)}.phantom:hover:not(:disabled){background:#ffffff1f}.icon-btn:hover,.overflow-btn:hover{background:var(--surface-2);border-radius:var(--radius)}.account-btn:hover{background:var(--surface-2)}.tab-nav>button:hover:not(.on){color:var(--text);background:var(--glass-fill)}.overflow-menu button:hover:not(:disabled){background:var(--surface-2)}.stepper button:hover:not(:disabled){border-color:var(--line-strong);background:var(--grey-840)}}@media (hover:none){html,body,#root,.hero,.card,.card-copy,.stat,.tab-nav,.pt-chip,.live-chip,.frost-dock,.entity-chrome,.topbar,.program-card,.catalog-row,.program-pick-row,.program-pick-custom{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,a,.pt-chip,.card-copy,.catalog-row,.program-pick-row,.program-pick-custom,.program-pick,.exercise-select,.icon-btn,.overflow-btn,.account-btn{transition:transform .1s,opacity .1s}button:active:not(:disabled),a:active,.pt-chip:active,.card-copy:active,.catalog-row:active,.program-pick-row:active,.program-pick-custom:active,.program-pick:active,.exercise-select:active,.icon-btn:active,.overflow-btn:active,.account-btn:active,.tab-nav>button:active,.overflow-menu button:active:not(:disabled),.stepper button:active:not(:disabled),.primary:active:not(:disabled),.phantom:active:not(:disabled){opacity:.88;transform:scale(.98)}}@media (hover:none) and (prefers-reduced-motion:reduce){button,a,.pt-chip,.card-copy,.catalog-row,.program-pick-row,.program-pick-custom,.program-pick,.exercise-select,.icon-btn,.overflow-btn,.account-btn{transition:opacity .1s}button:active:not(:disabled),a:active,.pt-chip:active,.card-copy:active,.catalog-row:active,.program-pick-row:active,.program-pick-custom:active,.program-pick:active,.exercise-select:active,.icon-btn:active,.overflow-btn:active,.account-btn:active,.tab-nav>button:active,.overflow-menu button:active:not(:disabled),.stepper button:active:not(:disabled),.primary:active:not(:disabled),.phantom:active:not(:disabled){transform:none}}@media (width>=800px) and (hover:hover) and (pointer:fine){:root.dark{--pad:28px}html{overscroll-behavior:auto;height:auto;min-height:100vh;overflow:hidden auto}body{overscroll-behavior:auto;height:auto;min-height:100vh;overflow:visible}html.standalone,html.standalone body{width:auto;height:auto;min-height:100vh;position:static;overflow:visible;transform:none}#root,html.standalone #root{overscroll-behavior:auto;height:auto;min-height:100vh;display:block;position:static;inset:auto;overflow:visible}html.standalone .frost-dock.tab-nav{position:sticky}html.standalone .sheet-backdrop,html.standalone .lightbox,html.standalone .frost-dock.rest-bar{position:fixed}.shell{flex-direction:row;flex:none;align-items:flex-start;width:100%;height:auto;min-height:100vh;display:flex;overflow:visible}.auth-screen{flex:none;height:auto;min-height:100vh;overflow:visible}.shell.session .tab-nav{display:flex}.tab-nav{z-index:2;border:0;border-right:1px solid var(--line);background:var(--grey-900);width:192px;height:100vh;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;flex-direction:column;flex:none;align-self:flex-start;align-items:stretch;gap:3px;padding:22px 10px;display:flex;position:sticky;inset:0 auto auto}.tab-nav>button{border-radius:var(--radius);flex-direction:row;justify-content:flex-start;gap:8px;min-height:0;padding:8px 10px;font-size:14px}.tab-nav-account{margin-top:auto;padding-top:12px}.app{flex:auto;width:auto;min-width:0;max-width:none;height:auto;min-height:100vh;margin:0;overflow:visible}.swipe-pane,.app-body{overscroll-behavior:auto;flex:none;width:100%;max-width:none;height:auto;min-height:auto;margin:0;overflow:visible}.app-body{padding:48px var(--pad) 32px;gap:12px}.catalog,.programs-home,.program-page,.app.session .page-enter{grid-template-columns:minmax(0,1fr) minmax(0,1200px) minmax(0,1fr);display:grid}.catalog>.hero,.programs-home>.hero,.program-page>.hero,.app.session .page-enter>.hero{grid-column:1/-1}.catalog>:not(.hero),.programs-home>:not(.hero),.program-page>:not(.hero),.app.session .page-enter>:not(.hero){grid-column:2;min-width:0}.app-body>.sessions-home,.app-body>.exercise-page{width:100%;max-width:1200px;margin-inline:auto}.app.session .app-body,.app.detail .app-body{padding-top:0}.app.session .app-body{padding-bottom:72px}.entity-chrome{padding:12px var(--pad)}.hero{gap:6px}.app .hero{margin-bottom:8px}.hero h1{letter-spacing:-.03em;font-size:28px;line-height:1.15}.icon-btn,.overflow-btn,.account-btn{width:36px;height:36px}.heat-month-controls{gap:4px;display:flex}.heat-month-controls button{border-radius:var(--radius);width:36px;height:36px;color:var(--muted);border:1px solid #0000;place-items:center;display:grid}.heat-month-controls button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.heat-month-controls button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;color:var(--text)}.heat-month-controls button:disabled{cursor:default;opacity:.3}.stepper button{width:36px;height:36px}.primary,.phantom{min-height:44px}.sessions-lead>.primary,.programs-home>.primary,.program-page>.primary{align-self:start;min-width:220px}.catalog-search{position:sticky;top:0}.catalog-search.is-inline{position:static;top:auto}.catalog-search.is-reveal{margin-bottom:-12px}.catalog-search.is-reveal.is-open{margin-bottom:0}.catalog-results{overscroll-behavior:auto;flex:none;gap:12px;height:auto;min-height:auto;padding-bottom:0;overflow:visible}.app-body:has(>.catalog){padding-bottom:32px;overflow:visible}.catalog,.sessions-home,.sessions-history,.exercise-page,.exercise-sessions,.programs-home,.program-page,.program-exercises,.program-split,.program-split-pane{flex:none;height:auto;min-height:auto;overflow:visible}.frost-dock.rest-bar{z-index:15;width:auto;padding:10px var(--pad);border-bottom:0;border-left:0;border-right:0;border-radius:0;flex:none;position:fixed;bottom:0;left:192px;right:0;box-shadow:0 -8px 24px #00000040}.sheet-backdrop,.sheet-backdrop.is-keyboard{align-items:center;padding:24px}.sheet{border-radius:16px;gap:12px;width:min(520px,100%);max-height:min(720px,80vh);padding:20px}.sheet.has-search{height:min(720px,80vh)}.sheet-head{margin:-20px -20px 0;padding:10px 20px 8px}.sheet-title{font-size:18px}.sheet-body{gap:12px}.card,.exercise,.editor,.program-card,.program-pick-row,.catalog-row,.program-pick-custom{padding:12px}.exercise,.editor,.program-card{gap:10px}.page-enter,.exercise-page,.programs-home,.program-page,.catalog,.sessions-stats,.exercise-lead{gap:12px}.sessions-home,.sessions-lead{gap:22px}.app.session .exercise{scroll-margin-bottom:24px}.program-split.is-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:12px 24px;width:100%;display:grid;overflow:visible}.program-split.is-split>.program-split-pane{flex-direction:column;gap:12px;min-width:0;height:auto;min-height:auto;display:flex;overflow:visible}.program-split.is-split>.program-split-pane:first-child .entity-chrome{margin-left:calc(-1 * var(--pad))}.program-split.is-split>.program-split-pane:last-child .entity-chrome{margin-right:calc(-1 * var(--pad))}.program-exercises{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(260px,50% - 6px)),1fr));align-items:stretch;gap:10px 12px;display:grid}.programs-grid>.fade-in,.program-exercises>.fade-in,.catalog-results>.stack>.fade-in{flex-direction:column;min-width:0;display:flex}.programs-grid>.fade-in>.program-card,.program-exercises>.fade-in>.program-ex,.program-exercises>.fade-in>.editor,.catalog-results>.stack>.fade-in>.catalog-row,.catalog-results>.stack>.catalog-row{flex:1;width:100%}.catalog-results>.stack{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(260px,33.3333% - 8px)),1fr));align-items:stretch;gap:10px 12px;display:grid}.catalog-results>.stack>.section-title{grid-column:1/-1}}@media (width>=1080px){.hero h1{font-size:28px}.thumb.featured{max-height:320px}.sessions-home,.exercise-page{grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);align-items:start;gap:28px 36px;display:grid}.sessions-lead{position:sticky;top:8px}.programs-grid{grid-template-columns:1fr 1fr;align-items:start;gap:10px 12px;display:grid}.catalog-results{flex-direction:column;gap:20px;display:flex}.programs-grid>.empty{grid-column:1/-1}.program-split.is-split{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:28px 36px}.program-split.is-split .exercise-page{flex-direction:column;display:flex}}.loading{display:contents}.skeleton{background-color:var(--grey-800);pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default;animation:1.6s ease-in-out infinite alternate skeleton-pulse;color:#0000!important;border-color:var(--grey-800)!important;box-shadow:none!important;background-image:none!important}span.skeleton,strong.skeleton,small.skeleton,b.skeleton,h1.skeleton,h2.skeleton,p.skeleton{vertical-align:middle;border-radius:4px;display:inline-block}.skeleton:before,.skeleton:after,.skeleton *{visibility:hidden!important}.spark.skeleton{border-radius:var(--radius);width:100%;height:72px;display:block}.stepper-skel{border-radius:var(--radius);flex:none;width:44px;height:44px}@media (width>=800px) and (hover:hover) and (pointer:fine){.stepper-skel{width:36px;height:36px}}@keyframes skeleton-pulse{0%{background-color:var(--grey-800);border-color:var(--grey-800)}to{background-color:var(--grey-860);border-color:var(--grey-860)}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.search-match{text-decoration-line:underline;-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);text-underline-offset:.18em;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;text-decoration-thickness:2px}.catalog-cue{color:var(--muted);font-size:14px;line-height:1.35;display:block}html{overscroll-behavior-x:none}.sheet-head{touch-action:none}.swipe-pane{touch-action:pan-y}.app.is-swiping{background:var(--surface);overflow:hidden}.app.is-swiping:before{content:"";background:var(--surface-2);pointer-events:none;border-radius:12px;position:absolute;inset:10px 16px 10px 0;transform:translate(-10px)scale(.96)}.app.is-swiping .swipe-pane{z-index:1;background:var(--bg)}
