:root{--fb-bg: #ffffff;--fb-secondary-bg: #f0f0f4;--fb-text: #111114;--fb-hint: #8a8a90;--fb-link: #2481cc;--fb-button: #2481cc;--fb-button-text: #ffffff;--fb-separator: rgba(0, 0, 0, .08);--fb-destructive: #e53935;--bg: var(--tg-theme-bg-color, var(--fb-bg));--secondary-bg: var(--tg-theme-secondary-bg-color, var(--fb-secondary-bg));--section-bg: var(--tg-theme-section-bg-color, var(--bg));--text: var(--tg-theme-text-color, var(--fb-text));--hint: var(--tg-theme-hint-color, var(--fb-hint));--link: var(--tg-theme-link-color, var(--fb-link));--accent: var(--tg-theme-accent-text-color, var(--link));--button: var(--tg-theme-button-color, var(--fb-button));--button-text: var(--tg-theme-button-text-color, var(--fb-button-text));--separator: var(--tg-theme-section-separator-color, var(--fb-separator));--destructive: var(--tg-theme-destructive-text-color, var(--fb-destructive));--success: #2e9e5b;--warn: #e2862b;--radius: 14px;--figure: var(--text);--figure-far: color-mix(in srgb, var(--text) 38%, var(--bg));--prop: color-mix(in srgb, var(--hint) 22%, var(--bg));--floor: color-mix(in srgb, var(--hint) 10%, var(--bg));color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.35;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}@media(prefers-color-scheme:dark){:root{--fb-bg: #17212b;--fb-secondary-bg: #0e1621;--fb-text: #f5f5f5;--fb-hint: #708499;--fb-link: #6ab3f3;--fb-button: #5288c1;--fb-separator: rgba(255, 255, 255, .08);--fb-destructive: #ec3942}}*{box-sizing:border-box}body{margin:0;background:var(--secondary-bg);color:var(--text);overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,select{font:inherit;color:var(--text);background:transparent;border:0;outline:none;min-width:0}h1,h2,h3{margin:0}.player{background:var(--section-bg);border-radius:var(--radius);overflow:hidden}.stage{position:relative}.stage svg{display:block;width:100%;max-height:260px}.player.compact .stage svg{max-height:150px}.stage-overlay{position:absolute;inset:8px 10px auto;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.phase{background:var(--button);color:var(--button-text);font-weight:600;border-radius:999px;padding:3px 10px;font-size:13px}.phase small{font-weight:400;opacity:.85;font-size:12px}.counter{min-width:34px;height:34px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:18px;background:var(--secondary-bg);animation:pop .35s ease-out}@keyframes pop{0%{transform:scale(1.35)}to{transform:scale(1)}}.player-controls{display:flex;gap:8px;padding:8px 10px;align-items:center;border-top:1px solid var(--separator)}.segmented{display:flex;flex:1;background:var(--secondary-bg);border-radius:10px;padding:2px}.segmented button{flex:1;padding:6px 4px;border-radius:8px;font-size:13px;color:var(--hint)}.segmented button.active{background:var(--section-bg);color:var(--text);font-weight:600}.chip{padding:6px 10px;border-radius:999px;background:var(--secondary-bg);font-size:13px;white-space:nowrap}.chip.active{background:var(--button);color:var(--button-text)}.player-info{display:flex;gap:12px;padding:4px 12px 12px;align-items:flex-start}.placement{margin:0;width:128px;flex:none}.placement svg{display:block;width:100%;background:var(--secondary-bg);border-radius:10px}.placement figcaption{font-size:12px;color:var(--hint);margin-top:4px}.player-text{flex:1;font-size:13px}.steps{margin:0;padding-left:18px}.steps li{color:var(--hint);margin-bottom:4px}.steps li.current{color:var(--text);font-weight:600}.legend{list-style:none;margin:0;padding:0;color:var(--hint)}.legend li{display:flex;align-items:center;gap:6px;margin-bottom:4px}.legend i{display:inline-block;flex:none}.legend .dot{width:10px;height:10px;border-radius:50%;background:var(--button)}.legend .ghost{width:14px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--button) 30%,transparent)}.legend .arrow{width:14px;height:2px;background:var(--button)}.screen{max-width:560px;margin:0 auto;padding:16px 16px 140px;display:flex;flex-direction:column;gap:14px}.screen>*{flex-shrink:0}.screen-title{font-size:24px;font-weight:700;padding:4px 2px 0}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--hint);margin:0 4px 6px}.section-body{background:var(--section-bg);border-radius:var(--radius);overflow:hidden}.section-hint{color:var(--hint);font-size:13px;margin:6px 4px 0}.row{display:flex;align-items:center;gap:10px;padding:12px 14px;width:100%;text-align:left}.row+.row{border-top:1px solid var(--separator)}.row.column{flex-direction:column;align-items:stretch}.row-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.row-text small,.hint{color:var(--hint)}.hint.small,.small{font-size:12px}.hint.lead{margin:0 4px}.row.link:active{background:var(--secondary-bg)}.row.muted{opacity:.55}.chevron{color:var(--hint);font-size:20px}.rung{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--secondary-bg);color:var(--hint)}.badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--secondary-bg);color:var(--hint)}.subhead{font-size:12px;color:var(--hint);padding:10px 14px 0}.exercise-name{display:flex;flex-direction:column}.exercise-name small{color:var(--hint);font-size:12px}.exercise-name.large span{font-size:22px;font-weight:700}.exercise-name.large small{font-size:14px}.eyebrow{font-size:13px;color:var(--accent);font-weight:600}.target{font-size:16px;font-weight:600}.warn-text{color:var(--warn)!important}.notice{background:color-mix(in srgb,var(--button) 12%,var(--section-bg));border-radius:var(--radius);padding:12px 14px;font-size:14px}.notice.warn{background:color-mix(in srgb,var(--warn) 16%,var(--section-bg))}.notice p{margin:4px 0 10px}.button{width:100%;padding:13px 16px;border-radius:12px;font-weight:600;text-align:center}.button.primary{background:var(--button);color:var(--button-text)}.button.secondary{background:color-mix(in srgb,var(--button) 14%,var(--section-bg));color:var(--button)}.button.plain{color:var(--link)}.button:disabled{opacity:.5}.section-body>.button{border-radius:0}.row-buttons{display:flex;gap:8px}.footer{position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--secondary-bg) 30%);z-index:5}.footer>*{max-width:528px;margin:0 auto}.tabbar~.footer,.screen:has(+.tabbar) .footer{bottom:calc(58px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bg);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);z-index:6}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 6px;font-size:11px;color:var(--hint)}.tabbar button.active{color:var(--button)}.choices{display:flex;flex-direction:column;gap:8px;padding:10px}.choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:12px;background:var(--secondary-bg);border:2px solid transparent;text-align:left}.choice.active{border-color:var(--button)}.choice span{font-weight:600}.choice small{color:var(--hint)}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.row.column .chips{padding:8px 0 0}.switch{appearance:none;width:46px;height:28px;flex:none;border-radius:999px;background:var(--separator);position:relative;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch:checked{background:var(--button)}.switch:checked:after{transform:translate(18px)}.number,.time,.select{text-align:right;color:var(--accent);max-width:50%}.number{width:80px}.stepper{display:flex;align-items:center;background:var(--secondary-bg);border-radius:14px;overflow:hidden}.stepper button{width:56px;height:52px;font-size:26px;color:var(--button)}.stepper input{width:84px;text-align:center;font-size:28px;font-weight:700}.center-row{display:flex;justify-content:center;padding:14px}.stopwatch{padding:14px 14px 0;display:flex;flex-direction:column;gap:10px;align-items:center}.stopwatch .row-buttons{width:100%}.clock{font-size:44px;font-weight:700;font-variant-numeric:tabular-nums}.clock.reached{color:var(--success)}.countdown{position:relative;width:200px;height:200px;margin:10px auto}.countdown svg{width:100%;height:100%;transform:rotate(-90deg)}.countdown circle{fill:none;stroke-width:8}.countdown .track{stroke:var(--separator)}.countdown .progress{stroke:var(--button);stroke-linecap:round;stroke-dasharray:276.5;transition:stroke-dashoffset .25s linear}.countdown span{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;font-weight:700;font-variant-numeric:tabular-nums}.rest-screen{text-align:center;padding-top:30px}.progress{height:4px;border-radius:2px;background:var(--separator);overflow:hidden}.progress i{display:block;height:100%;background:var(--button);transition:width .3s}.welcome{text-align:center;padding:40px 10px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.welcome h1{font-size:28px}.welcome p{color:var(--hint);margin:0}.dots{display:flex;gap:6px;justify-content:center}.dots i{width:28px;height:4px;border-radius:2px;background:var(--separator)}.dots i.on{background:var(--button)}.details{background:var(--section-bg);border-radius:var(--radius);padding:12px 14px}.details summary{font-weight:600;cursor:pointer}.instructions{font-size:14px;padding:4px 14px 12px}.details .instructions{padding:4px 0 0}.instructions h3{font-size:13px;color:var(--hint);text-transform:uppercase;letter-spacing:.02em;margin:14px 0 4px}.instructions ol,.instructions ul{margin:0;padding-left:20px}.instructions li{margin-bottom:4px}.instructions p{margin:0}.month-head{display:flex;align-items:center;justify-content:space-between}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;background:var(--section-bg);border-radius:var(--radius);padding:10px}.weekday{text-align:center;font-size:11px;color:var(--hint)}.day{aspect-ratio:1;border-radius:10px;display:grid;place-items:center;font-size:14px;border:2px solid transparent}.day.training{border-color:var(--button)}.day.recovery{border-color:var(--warn)}.day.done{background:var(--success);color:#fff}.day.inactive{color:var(--hint)}.day.missed{background:color-mix(in srgb,var(--destructive) 18%,transparent)}.day.today{font-weight:800;text-decoration:underline}.day.selected{box-shadow:0 0 0 2px var(--text)}.legend-row{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--hint)}.legend-row span{display:flex;align-items:center;gap:5px}.legend-row .day{width:14px;height:14px;border-radius:4px;display:inline-block}.day-title{font-size:18px;padding:0 4px}.segmented button.level-1.active{color:var(--warn)}.segmented button.level-2.active,.segmented button.level-3.active{color:var(--destructive)}.center{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;text-align:center}.center-text{text-align:center}@media(max-width:380px){.player-info{flex-direction:column}.placement{width:100%;display:flex;gap:10px;align-items:center}.placement svg{width:120px;flex:none}}.back-link{display:block;max-width:560px;margin:0 auto;padding:12px 16px 0;color:var(--link)}
