:root{--font-sans: ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--bg-deep: #07080c;--bg-base: #0a0c11;--surface: #12161f;--surface-2: #181d28;--border: rgba(255, 255, 255, .07);--border-strong: #2a3344;--text: #eef1f6;--text-muted: #94a0b8;--accent: #4b9dff;--accent-dim: #3567a8;--accent-soft: rgba(75, 157, 255, .14);--today-accent: #2dd4bf;--week-accent: #a78bfa;--radius: 12px;--radius-lg: 16px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .35);--shadow-dock: 0 -12px 48px rgba(0, 0, 0, .55);font-family:var(--font-sans);color:var(--text);background-color:var(--bg-deep);line-height:1.5;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(100% 70% at 50% -15%,rgba(75,157,255,.11),transparent 52%),radial-gradient(80% 50% at 100% 0%,rgba(167,139,250,.07),transparent 42%),radial-gradient(60% 40% at 0% 20%,rgba(45,212,191,.06),transparent 40%),var(--bg-base);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#7ab8ff}button,input,select{font:inherit}button{min-height:44px;min-width:44px;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:inherit;transition:background .15s ease,border-color .15s ease,transform .1s ease}button:active:not(:disabled){transform:scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:linear-gradient(165deg,#3d89e8,#2563b8);border-color:#ffffff1f;color:#fff;box-shadow:0 1px #ffffff1f inset}button.primary:hover:not(:disabled){filter:brightness(1.06)}input,select{min-height:44px;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:#0d1018;color:inherit;width:100%;transition:border-color .15s ease,box-shadow .15s ease}input:hover,select:hover{border-color:#3a4a62}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.1rem;margin-bottom:.75rem;box-shadow:var(--shadow-card)}.nav.app-dock{position:fixed;bottom:0;left:0;right:0;z-index:20;padding:.4rem .5rem calc(.45rem + env(safe-area-inset-bottom));background:#0a0c12c7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);box-shadow:var(--shadow-dock)}.app-dock__items{display:flex;justify-content:space-around;align-items:stretch;gap:4px;max-width:600px;margin:0 auto}.app-dock-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:6px 2px 8px;border-radius:14px;text-decoration:none;color:var(--text-muted);font-size:.64rem;font-weight:500;letter-spacing:.02em;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.app-dock-link:hover{color:var(--text);background:#ffffff0a}.app-dock-link--active{color:#fff;font-weight:600;background:var(--accent-soft);box-shadow:0 0 0 1px #4b9dff59}.app-dock-link__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.app-dock-sync-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background:#ff5c5c;box-shadow:0 0 0 2px #0a0c12e6;pointer-events:none}.app-dock__glyph{display:block;flex-shrink:0;opacity:.92}.app-dock-link--active .app-dock__glyph{opacity:1}.app-dock__label{line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:calc(.85rem + env(safe-area-inset-top)) 1.1rem calc(5.25rem + env(safe-area-inset-bottom));max-width:560px;width:100%;margin:0 auto;box-sizing:border-box;overflow-x:clip}.page--workout{padding-bottom:calc(6.85rem + env(safe-area-inset-bottom));scroll-padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.page-view{position:relative}.page-view:before{content:"";position:absolute;left:0;top:-.5rem;width:4px;height:3.25rem;border-radius:4px;background:var(--page-accent, var(--accent))}.page-view--today{--page-accent: var(--today-accent)}.page-view--week{--page-accent: var(--week-accent)}.app-hero{margin-bottom:1.25rem;padding-left:.65rem}.app-hero h1{margin:.2rem 0 .35rem;font-size:1.65rem;font-weight:700;letter-spacing:-.03em;line-height:1.15}.app-eyebrow{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding:.2rem .5rem;border-radius:6px;background:#ffffff0d}.app-eyebrow--today{color:#5eead4;background:#2dd4bf1f}.app-eyebrow--week{color:#c4b5fd;background:#a78bfa24}.app-lead{margin:0;font-size:.92rem;color:var(--text-muted);line-height:1.5;max-width:36rem}.app-cross-link{margin:.85rem 0 0;font-size:.88rem}.app-cross-link a{font-weight:500}.app-section{margin-top:1.35rem}.app-section:first-of-type{margin-top:.5rem}.app-section__head{margin-bottom:.65rem}.app-section__title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.app-section__hint{margin:.2rem 0 0;font-size:.8rem;color:var(--text-muted);opacity:.9}.app-journal-empty{padding:1rem 1.1rem;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem}.app-badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.app-badge--done{background:#34d39926;color:#6ee7b7}.app-badge--started{background:#fbbf2424;color:#fcd34d}.app-badge--none{background:#94a0b81f;color:var(--text-muted)}.app-slot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.app-weekday-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}.app-weekday-cell{margin-bottom:0;padding:.75rem .65rem}.app-weekday-cell strong{font-size:.78rem;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.app-weekday-cell a.app-cal-slot-link{display:block;margin-top:6px;text-decoration:none}button.app-cal-slot-btn{width:100%;min-width:0;min-height:42px;padding:.42rem .55rem;font-size:.8125rem;font-weight:600;letter-spacing:.03em;white-space:nowrap;line-height:1.15}.app-cal-slot-placeholder{margin-top:8px;min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);border:1px dashed var(--border-strong);color:var(--text-muted);font-size:.78rem;opacity:.85}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem calc(2rem + env(safe-area-inset-bottom))}.auth-page .card{width:100%;max-width:400px}.auth-page h1{margin:0 0 1rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.auth-page form p{margin:0 0 .85rem}.app-hero--compact{margin-bottom:1rem;padding-left:0}.app-hero--compact h1{margin:0 0 .35rem;font-size:1.45rem;font-weight:700;letter-spacing:-.02em}.app-hero--compact .app-lead{margin:0;font-size:.88rem}.auth-error{color:#fb7185;font-size:.9rem;margin:0 0 .75rem}.row{display:flex;gap:.5rem;align-items:center}.muted{color:var(--text-muted);font-size:.9rem}.timer{font-size:2rem;font-variant-numeric:tabular-nums;text-align:center;margin:1rem 0}.feedback-host{position:fixed;left:50%;transform:translate(-50%);bottom:calc(5.35rem + env(safe-area-inset-bottom));z-index:25;display:flex;flex-direction:column;gap:8px;max-width:min(520px,calc(100vw - 20px));width:max-content;pointer-events:none}.feedback-toast{pointer-events:auto;padding:10px 14px;border-radius:10px;font-size:.88rem;line-height:1.35;box-shadow:0 6px 24px #00000073;animation:feedback-in .22s ease-out}@keyframes feedback-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.feedback-toast--success{background:#152a1f;border:1px solid #2a6b45;color:#c4efd6}.feedback-toast--error{background:#2a1518;border:1px solid #8b3540;color:#ffc9cf}.feedback-toast--info{background:#151d2a;border:1px solid #35508b;color:#c9dcff}button.danger{background:#3a1a1f;border-color:#6b3038;color:#ffc9cf}button.danger:hover:not(:disabled){background:#4a2228}button.ghost{background:transparent;border-color:#3a4458}.workout-page{display:flex;flex-direction:column;gap:1rem;min-width:0}.page--workout .workout-page{min-height:calc(100dvh - 5.75rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.workout-page__header{padding-bottom:.15rem}.workout-page__header h1{margin:0 0 .25rem;font-size:1.38rem;font-weight:700;letter-spacing:-.03em;line-height:1.18}.workout-subtitle{margin:0;font-size:.88rem;line-height:1.45}.workout-session-timer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-radius:14px;background:#12161fd9;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px #0000002e;position:sticky;top:0;z-index:4}.workout-session-timer--pending{flex-direction:column;align-items:stretch;padding:1rem 1.05rem 1.1rem;border-color:#4b9dff66;background:linear-gradient(165deg,#4b9dff24,#12161ff0 55%);box-shadow:0 0 0 1px #4b9dff33,0 12px 36px #4b9dff1f}.workout-session-timer--live{border-color:#2dd4bf59;background:#12181ceb}.workout-session-timer__lead{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.02em;text-align:center}.workout-session-timer__hint{margin:0 0 .65rem;font-size:.82rem;line-height:1.45;color:var(--text-muted);text-align:center}.workout-session-timer__clock--idle{opacity:.45}.workout-session-timer__label--live:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 8px #2dd4bfb3;vertical-align:middle}.workout-session-timer__start--hero{width:100%;min-height:52px;margin-top:.35rem;font-size:1.02rem;font-weight:700;letter-spacing:.01em}.workout-start-hint{text-align:center}.workout-start-hint__title{margin:0 0 .35rem;font-weight:700;font-size:.95rem}.workout-start-hint__text{margin:0;font-size:.88rem}.workout-body--locked{pointer-events:none;opacity:.52;filter:grayscale(.15);-webkit-user-select:none;user-select:none}.workout-session-timer__main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.workout-session-timer__label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.workout-session-timer__clock{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.workout-session-timer__start{flex-shrink:0;min-height:40px;padding:.45rem .85rem;font-size:.85rem}.workout-set-timer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin:.75rem 0 .5rem;padding:.55rem .65rem;border-radius:12px;background:#0c0f168c;border:1px solid rgba(255,255,255,.06)}.workout-set-timer__readout{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.workout-set-timer__label{font-size:.78rem;color:var(--text-muted)}.workout-set-timer__clock{font-size:1.1rem;font-weight:700;font-variant-numeric:tabular-nums}.workout-set-timer__saved{font-size:.72rem}.workout-set-timer__btn{min-height:38px}.workout-set-timer--active{border-color:#4b9dff59;background:#4b9dff14}.workout-set-timer--goal .workout-set-timer__clock{color:var(--accent, #2dd4bf)}.workout-set-timer--done{border-color:#2dd4bf40;background:#2dd4bf0f}.workout-set-timer__btn--finish{width:100%;min-height:46px;font-weight:700}.workout-set-timer__done-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;border-radius:999px;background:#2dd4bf26;color:#2dd4bf;font-weight:700;font-size:1rem}.workout-save-rail .workout-cta-primary:disabled{opacity:.45;cursor:not-allowed}.workout-mode-tabs{display:flex;width:100%;max-width:100%;padding:5px;border-radius:999px;background:#12161fb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 16px #00000038;gap:4px}.workout-mode-tabs__btn{flex:1;border-radius:999px;border:none;min-height:42px;padding:.4rem .75rem;background:transparent;color:var(--text-muted);font-weight:600;font-size:.88rem;letter-spacing:.01em;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.workout-mode-tabs__btn--active{color:#fff;background:linear-gradient(145deg,#4b9dff59,#2dd4bf1f);box-shadow:0 0 0 1px #4b9dff73,0 4px 20px #4b9dff1f}.workout-progress-wrap{margin:.25rem 0 .85rem;padding:.65rem .75rem .7rem;border-radius:14px;background:#0e121ce6;border:1px solid rgba(75,157,255,.22);box-shadow:0 4px 18px #00000047,inset 0 1px #ffffff0a}.workout-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.workout-progress-meta__label{font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.workout-progress-meta__value{font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;color:#8ec5ff}.workout-progress-track{height:10px;border-radius:999px;background:#1c2230f2;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 2px 4px #00000073}.workout-progress-fill{height:100%;min-width:6px;border-radius:999px;background:linear-gradient(90deg,#2563eb,#4b9dff 42%,#2dd4bf);box-shadow:0 0 16px #4b9dffa6,0 0 4px #2dd4bf73;transition:width .45s cubic-bezier(.33,1,.68,1)}.workout-panel{position:relative;background:linear-gradient(155deg,#161b26eb,#0e1118e0);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:1.15rem 1.2rem;margin-bottom:.35rem;box-shadow:0 4px 28px #00000052,inset 0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.workout-panel--soft{border-style:dashed;border-color:#5eead438;background:linear-gradient(160deg,#1623208c,#0e1118bf)}.workout-done-lead{margin:0;font-size:.94rem;line-height:1.5;color:#c8d6e8}.workout-guided-shell{margin-bottom:.35rem}.workout-guided-card{position:relative;border-radius:22px;padding:1.2rem 1.25rem 1.25rem;overflow:hidden;background:linear-gradient(165deg,#1c2230f2,#0c0e14eb 55%,#0e121cf5);border:1px solid rgba(255,255,255,.09);box-shadow:0 12px 40px #00000061,inset 0 1px #ffffff0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.workout-guided-card__glow{pointer-events:none;position:absolute;inset:-40% -20% auto;height:70%;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(75,157,255,.16),transparent 70%);opacity:.95}.workout-guided-card__head{position:relative;z-index:1}.workout-guided-card__step{display:block;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7ec8ff;margin-bottom:.45rem}.workout-guided-card__title{margin:0;font-size:1.42rem;font-weight:700;letter-spacing:-.035em;line-height:1.2}.workout-guided-card__muscle{margin:.45rem 0 0;font-size:.88rem;color:var(--text-muted)}.workout-target-strip{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}.workout-target-strip__chip{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:10px;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:#dbe7f5;background:#ffffff0f;border:1px solid rgba(255,255,255,.06)}.workout-target-strip__chip--rest{color:#b8f5e8;background:#2dd4bf1a;border-color:#2dd4bf33}.workout-plan-note{position:relative;z-index:1;margin:.75rem 0 0;font-size:.86rem;line-height:1.45;color:var(--text-muted)}.workout-field-grid--bento{margin-top:1.05rem}.workout-field--inset{padding:.55rem .65rem .65rem;border-radius:14px;background:#00000038;border:1px solid rgba(255,255,255,.06)}.workout-field--inset label{color:#9aa8bc}.workout-field--inset input{background:#0a0c12a6;border-color:#3a4a62a6}.workout-field--note{margin-top:.85rem;position:relative;z-index:1}.workout-note-input{min-height:56px;resize:vertical;border-radius:14px;border:1px solid rgba(58,74,98,.75);background:#0a0c12bf;color:var(--text);padding:.65rem .8rem;line-height:1.45;transition:border-color .18s ease,box-shadow .18s ease}.workout-note-input::placeholder{color:#6b778c}.workout-note-input:focus{outline:none;border-color:#4b9dff8c;box-shadow:0 0 0 3px #4b9dff1f}.workout-cta-primary{width:100%;margin-top:1.15rem;min-height:50px;font-size:.95rem;font-weight:650;letter-spacing:.02em;border-radius:14px;background:linear-gradient(165deg,#4a9cf5,#2563b8 52%,#1d4f96);box-shadow:0 1px #ffffff24 inset,0 8px 24px #2563b847}.workout-cta-primary--footer{margin-top:0}.workout-save-rail{position:sticky;bottom:calc(4.55rem + env(safe-area-inset-bottom));z-index:11;margin-top:auto;padding-top:.75rem;padding-bottom:.2rem;background:linear-gradient(180deg,#0a0c1100,#0a0c11b8 35%,#0a0c11eb);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.workout-rest-panel--hero{text-align:center;padding:1.35rem 1.1rem 1.2rem}.workout-rest-phase{margin:0 0 .15rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7ec8ff}.workout-rest-visual{display:flex;justify-content:center;margin:.35rem 0 .5rem}.workout-rest-ring-wrap{position:relative;width:min(220px,72vw);aspect-ratio:1}.workout-rest-ring{width:100%;height:auto;display:block;filter:drop-shadow(0 4px 18px rgba(75,157,255,.22))}.workout-rest-ring__track{stroke:#ffffff14}.workout-rest-ring__arc{transition:stroke-dasharray .35s ease}.workout-rest-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:clamp(2.1rem,9vw,2.85rem);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;line-height:1;background:linear-gradient(185deg,#fff,#9db4d6);-webkit-background-clip:text;background-clip:text;color:transparent;animation:workout-timer-breathe 2.4s ease-in-out infinite}.workout-rest-next{margin:.35rem 0 .85rem;font-size:.88rem;line-height:1.45;color:var(--text-muted);padding:0 .35rem}.workout-rest-mute-row{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:-.2rem 0 .55rem}.workout-rest-notif-hint{font-size:.75rem;line-height:1.35;margin:0;max-width:18rem;text-align:center}.workout-rest-mute{font-size:.8rem;padding:.28rem .75rem;min-height:34px}.workout-rest-actions{flex-wrap:wrap;justify-content:center;gap:10px}.workout-rest-actions--stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:300px;margin-left:auto;margin-right:auto}.workout-rest-actions__wide{width:100%;justify-content:center}.workout-rest-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workout-rest-actions button{border-radius:12px}.workout-quick-add{border-style:solid;border-color:#ffffff0f}.workout-quick-add-details{padding-top:.85rem;padding-bottom:.85rem}.workout-quick-add-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;font-size:.94rem;font-weight:650;letter-spacing:-.015em;list-style:none;-webkit-user-select:none;user-select:none;color:#e8eef8}.workout-quick-add-summary::-webkit-details-marker{display:none}.workout-quick-add-summary:after{content:"";width:.45rem;height:.45rem;border-right:2px solid rgba(148,160,184,.85);border-bottom:2px solid rgba(148,160,184,.85);transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0;margin-top:-.2rem}.workout-quick-add-details[open] .workout-quick-add-summary:after{transform:rotate(225deg);margin-top:.12rem}.workout-quick-add-body{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.06)}.workout-quick-add-row{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.workout-quick-add-select{flex:1 1 160px;min-width:0}.workout-quick-add-submit{flex:0 0 auto;min-width:5.5rem;border-radius:12px;font-weight:600}@keyframes workout-timer-breathe{0%,to{opacity:1;filter:brightness(1)}50%{opacity:.88;filter:brightness(.96)}}@media(max-height:720px){.workout-rest-ring-wrap{width:min(192px,64vw)}.workout-guided-card{padding:1rem 1.1rem 1.05rem}.workout-guided-card__title{font-size:1.28rem}.workout-note-input{min-height:48px}.workout-rest-panel--hero{padding:1.05rem 1rem 1rem}.workout-page{gap:.82rem}}@media(prefers-reduced-motion:reduce){.workout-progress-fill,.workout-rest-ring__arc{transition:none}.workout-rest-ring-center{animation:none}}.workout-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}@media(max-width:380px){.workout-field-grid{grid-template-columns:1fr}}.workout-field label{display:block;font-size:.75rem;color:#8b95a8;margin-bottom:4px}.workout-field input,.workout-field textarea{width:100%}.workout-rest-panel{text-align:center}.workout-rest-label{font-size:.88rem;color:#b8c0cc;margin:.35rem 0 0}.workout-exercise-card h3{margin-top:0;font-size:1.05rem}.workout-set-row{padding:10px 0;border-bottom:1px solid rgba(36,43,56,.85)}.workout-set-row:last-of-type{border-bottom:none}.workout-set-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.workout-set-actions button.ghost{min-height:40px;font-size:.85rem}.page-view--progression{--page-accent: #fb7185;min-width:0;max-width:100%}.page-view--progression:before{background:linear-gradient(180deg,#fb7185,#a78bfa)}.app-hero--progression{position:relative}.app-eyebrow--progression{color:#fecdd3;background:linear-gradient(125deg,#fb718538,#a78bfa2e,#2dd4bf1f);border:1px solid rgba(255,255,255,.06)}.prog-segment{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem;padding:5px;border-radius:14px;background:#0c0f16a6;border:1px solid var(--border)}.prog-segment__btn{flex:1;min-width:0;min-height:40px;padding:.35rem .5rem;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:.78rem;font-weight:600}.prog-segment__btn:hover{color:var(--text);background:#ffffff0a}.prog-segment__btn--on{color:#fff;background:linear-gradient(165deg,#4b9dff59,#2563b840);border-color:#4b9dff73;box-shadow:0 0 0 1px #4b9dff1f}.prog-pulse{position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:1rem 1.1rem 1.15rem;margin-bottom:1rem;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#181d28f2,#121620fa);box-shadow:0 8px 40px #00000059}.prog-pulse__glow{position:absolute;top:-40%;right:-20%;bottom:-40%;left:-20%;background:radial-gradient(ellipse at 30% 0%,rgba(251,113,133,.2),transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(167,139,250,.16),transparent 50%);pointer-events:none}.prog-pulse__eyebrow{position:relative;margin:0;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.prog-pulse__stat{position:relative;margin:.35rem 0 .25rem;font-size:clamp(1.35rem,6vw,2rem);font-weight:800;letter-spacing:-.04em;background:linear-gradient(120deg,#fecdd3,#e9d5ff,#a5f3fc);-webkit-background-clip:text;background-clip:text;color:transparent}.prog-pulse__text{position:relative;margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.45;max-width:100%}.prog-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:1rem}.prog-kpi{position:relative;padding:.85rem .95rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(165deg,#161b26fa,#0e1118eb);box-shadow:var(--shadow-card);overflow:hidden}.prog-kpi:after{content:"";position:absolute;right:-30%;top:-60%;width:70%;height:140%;background:radial-gradient(circle at center,rgba(75,157,255,.12),transparent 62%);pointer-events:none}.prog-kpi--wide{grid-column:1 / -1}.prog-kpi__label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.prog-kpi__value{display:block;margin:.35rem 0 .15rem;font-size:1.35rem;font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere;word-break:break-word}.prog-kpi__sub{font-size:.75rem;color:var(--text-muted);opacity:.9}.prog-chart{margin-bottom:.85rem;padding:.85rem .75rem .65rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:#1216208c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-card);min-width:0;max-width:100%;overflow:hidden}.prog-chart__head{padding:0 .35rem .5rem}.prog-chart__title{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.02em}.prog-chart__hint{margin:.25rem 0 0;font-size:.78rem;color:var(--text-muted);line-height:1.4}.prog-chart__body{height:220px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.prog-chart__body .recharts-responsive-container{max-width:100%!important}.prog-empty__title{margin:0 0 .35rem;font-weight:700;font-size:1rem}.today-page{position:relative;padding-bottom:.25rem}.today-backdrop{position:absolute;top:-4rem;right:-1.5rem;bottom:40%;left:-1.5rem;background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(45,212,191,.16),transparent 55%),radial-gradient(ellipse 60% 50% at 100% 20%,rgba(75,157,255,.1),transparent 50%);pointer-events:none;z-index:0}.today-page>*:not(.today-backdrop){position:relative;z-index:1}.today-header{margin-bottom:1.5rem;padding-left:.15rem}.today-header__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.today-chip{display:inline-flex;align-items:center;max-width:70%;padding:.28rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#99f6e4;background:#2dd4bf1f;border:1px solid rgba(45,212,191,.22);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-header__ghost-link{flex-shrink:0;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-decoration:none;padding:.35rem .6rem;border-radius:10px;border:1px solid transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.today-header__ghost-link:hover{color:var(--text);background:#ffffff0d;border-color:var(--border)}.today-header__date{margin:0 0 .2rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem}.today-header__date-main{font-size:clamp(2rem,9vw,2.65rem);font-weight:800;letter-spacing:-.045em;line-height:1.05;background:linear-gradient(135deg,#f8fafc,#cbd5e1 55%,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent}.today-header__date-year{font-size:.95rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.today-header__weekday{margin:.15rem 0 .35rem;font-size:1.2rem;font-weight:650;letter-spacing:-.02em;color:#e2e8f0}.today-header__sub{margin:0;font-size:.84rem;color:var(--text-muted);line-height:1.45;max-width:36rem}.today-main{margin-bottom:1.25rem}.today-workout-panel{padding:1.25rem 1.2rem 1.15rem;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(165deg,#181d28f2,#0f121ae0);box-shadow:0 8px 40px #00000073,0 0 0 1px #2dd4bf14 inset;margin-bottom:1rem}.today-workout-panel--live{border-color:#4b9dff59;box-shadow:0 8px 40px #00000073,0 0 0 1px #4b9dff33 inset,0 0 28px #4b9dff1f}.today-workout-panel--live .today-workout-panel__eyebrow{color:#7ec8ff}.today-workout-panel__eyebrow{margin:0 0 .35rem;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#5eead4}.today-workout-panel__title{margin:0 0 .5rem;font-size:1.35rem;font-weight:750;letter-spacing:-.03em;line-height:1.25}.today-workout-panel__meta{margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.today-workout-panel__hint{margin:.85rem 0 0;font-size:.8rem;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.today-badge-live{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fcd34d;background:#fbbf241f;border:1px solid rgba(251,191,36,.25)}.today-start-block{margin-bottom:.5rem}.today-start-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:.65rem 1.25rem;font-size:1.12rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:16px;border:1px solid rgba(255,255,255,.14);color:#042f2e;background:linear-gradient(168deg,#5eead4,#2dd4bf 38%,#0d9488);box-shadow:0 1px #ffffff59 inset,0 12px 36px #0d948859;transition:filter .15s ease,transform .12s ease,box-shadow .15s ease;text-decoration:none;box-sizing:border-box}.today-start-cta:hover{filter:brightness(1.05);box-shadow:0 1px #fff6 inset,0 14px 40px #0d94886b}.today-start-cta:active{transform:scale(.985)}.today-start-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.today-extra{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.today-extra__label{margin:0 0 .5rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.today-extra__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.today-extra__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-radius:14px;text-decoration:none;color:inherit;font-size:.9rem;font-weight:600;border:1px solid var(--border);background:#ffffff05;transition:background .15s ease,border-color .15s ease}.today-extra__row:hover{background:#ffffff0d;border-color:#2dd4bf40}.today-extra__chev{flex-shrink:0;color:var(--today-accent);font-weight:700}.today-state{text-align:center;padding:2rem 1rem 1.5rem;border-radius:20px;border:1px solid var(--border);background:#121620a6}.today-state--calm{box-shadow:var(--shadow-card)}.today-state__icon{font-size:2rem;line-height:1;margin-bottom:.75rem;opacity:.9}.today-state__title{margin:0 0 .5rem;font-size:1.2rem;font-weight:750;letter-spacing:-.02em}.today-state__text{margin:0 auto 1rem;max-width:22rem;font-size:.9rem;color:var(--text-muted);line-height:1.5}.today-link-muted{font-size:.88rem;font-weight:600;color:var(--accent);text-decoration:none}.today-link-muted:hover{color:#7ab8ff}.today-empty-hero{text-align:center;padding:2.5rem .5rem 1rem}.today-empty-hero__title{margin:1rem 0 .5rem;font-size:1.45rem;font-weight:800;letter-spacing:-.03em}.today-empty-hero__lead{margin:0 auto 1.25rem;max-width:22rem;color:var(--text-muted);font-size:.95rem;line-height:1.5}.today-link-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.5rem 1.25rem;border-radius:14px;font-weight:700;text-decoration:none;color:#042f2e;background:linear-gradient(168deg,#5eead4,#2dd4bf 45%,#0d9488);border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 28px #0d94884d}.today-settings{margin-top:.5rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:#0a0c1280;overflow:hidden}.today-settings summary{cursor:pointer;list-style:none;padding:.75rem 1rem;font-size:.82rem;font-weight:600;color:var(--text-muted);-webkit-user-select:none;user-select:none}.today-settings summary::-webkit-details-marker{display:none}.today-settings summary:after{content:"▾";float:right;opacity:.55;transition:transform .2s ease}.today-settings[open] summary:after{transform:rotate(-180deg)}.today-settings__inner{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.35rem}.today-settings__inner label{margin-top:.35rem}.today-settings__footer{margin:.5rem 0 0;font-size:.85rem}.today-skeleton{padding:.5rem 0 1rem}.today-skeleton__line{height:.85rem;border-radius:8px;background:linear-gradient(90deg,#ffffff0f,#ffffff1f,#ffffff0f);background-size:200% 100%;animation:today-shimmer 1.2s ease-in-out infinite;margin-bottom:.65rem}.today-skeleton__line--lg{height:2.4rem;max-width:85%;border-radius:12px}.today-skeleton__line--md{height:1.1rem;max-width:55%}.today-skeleton__line--short{max-width:40%}.today-skeleton__panel{margin-top:1.25rem;padding:1.2rem;border-radius:20px;border:1px solid var(--border);background:#12162080}.today-skeleton__btn{margin-top:1rem;height:58px;border-radius:16px;background:linear-gradient(90deg,#2dd4bf1f,#2dd4bf38,#2dd4bf1f);background-size:200% 100%;animation:today-shimmer 1.2s ease-in-out infinite}@keyframes today-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.wk-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.wk-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-early-finish{flex-shrink:0;padding:.3rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.wk-early-finish:hover,.wk-early-finish:focus-visible{background:#ff645a26;color:#ff8080;border-color:#ff645a4d}.wk-live-strip{display:flex;align-items:center;gap:.75rem;margin-top:.45rem;padding:.45rem .75rem;border-radius:12px;background:#12161fb3;border:1px solid rgba(45,212,191,.2)}.wk-live-strip__timer{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.wk-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 6px #2dd4bfb3;animation:wk-dot-pulse 2s ease-in-out infinite}@keyframes wk-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}.wk-live-time{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#eef1f6}.wk-live-strip__progress{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.wk-prog-track{flex:1;height:5px;border-radius:999px;background:#ffffff17;overflow:hidden}.wk-prog-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#4b9dff,#2dd4bf);transition:width .4s ease}.wk-prog-label{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.wk-prestart{padding:.85rem 0 .5rem}.wk-prestart__empty{margin:0;font-size:.9rem}.wk-prestart__meta{margin:0 0 .6rem;font-size:.84rem;font-weight:600;letter-spacing:.02em}.wk-prestart__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.wk-prestart__item{display:flex;align-items:center;gap:.4rem;padding:.55rem .85rem;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.wk-prestart__item--more{background:transparent;border-color:transparent;font-size:.82rem;padding-left:.85rem}.wk-prestart__ex-name{flex:1;font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-prestart__ex-muscle,.wk-prestart__ex-sets{font-size:.78rem;flex-shrink:0}.wk-active-badge{display:flex;align-items:center;gap:.45rem;padding:.4rem .65rem;margin-bottom:.75rem;border-radius:9px;background:#4b9dff1a;border:1px solid rgba(75,157,255,.25)}.wk-active-badge__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4b9dff;box-shadow:0 0 5px #4b9dff99;animation:wk-dot-pulse 1.4s ease-in-out infinite;flex-shrink:0}.wk-active-badge__time{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:#7ec8ff}.wk-active-badge__label{font-size:.75rem;color:var(--text-muted);font-weight:500}.wk-note-toggle{display:inline-flex;align-items:center;gap:.3rem;margin-top:.5rem;padding:.3rem 0;background:transparent;border:none;color:var(--text-muted);font-size:.82rem;cursor:pointer;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px;transition:color .15s}.wk-note-toggle:hover,.wk-note-toggle:focus-visible{color:var(--text)}.wk-rest-screen{display:flex;flex-direction:column;align-items:center;padding:1rem 0 .5rem;text-align:center}.wk-rest-screen__eyebrow{margin:0 0 .15rem;font-size:.68rem;font-weight:800;letter-spacing:.2em;color:#7ec8ff;text-transform:uppercase}.wk-sound-toggle{margin-top:.65rem;padding:.3rem .85rem;font-size:.8rem;color:var(--text-muted);border-color:#ffffff1a}.wk-done-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem 1.5rem;text-align:center;gap:.35rem}.wk-done-screen__icon{font-size:3rem;line-height:1;margin-bottom:.25rem}.wk-done-screen__title{margin:0;font-size:1.85rem;font-weight:800;letter-spacing:-.04em;color:#eef1f6}.wk-done-screen__stats{margin:0;font-size:1rem;font-weight:600}.wk-done-screen__hint{margin:.75rem 0 0;font-size:.82rem;line-height:1.45}.wk-bottom-rail{position:sticky;bottom:calc(4.55rem + env(safe-area-inset-bottom));z-index:11;margin-top:auto;padding:.65rem 0 .25rem;background:linear-gradient(180deg,#0a0c1100,#0a0c11bf 30%,#0a0c11f2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.wk-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:0 1.5rem;border-radius:16px;border:none;background:linear-gradient(135deg,#4b9dff,#2563d4);color:#fff;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;box-shadow:0 4px 20px #4b9dff59,0 1px 4px #0000004d;transition:filter .15s,box-shadow .15s,transform .1s;-webkit-user-select:none;user-select:none}.wk-cta:active{filter:brightness(.92);transform:scale(.98)}.wk-cta--success{background:linear-gradient(135deg,#22d3a0,#16a37a);box-shadow:0 4px 20px #22d3a059,0 1px 4px #0000004d;min-height:60px;font-size:1.1rem}.wk-cta--ghost{background:transparent;border:1.5px solid rgba(255,255,255,.18);color:var(--text-muted);box-shadow:none}.wk-cta--ghost:active{background:#ffffff0d}.wk-rest-rail{display:flex;flex-direction:column;gap:.5rem}.wk-rest-rail__adj{display:flex;gap:.5rem}.wk-adj-btn{flex:1;min-height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .12s,color .12s}.wk-adj-btn:active{background:#ffffff1a;color:var(--text)}.wk-hold-btn{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:0 1.5rem;border-radius:16px;border:2px solid rgba(45,212,191,.45);background:#2dd4bf0f;color:#2dd4bf;font-size:1rem;font-weight:700;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color .2s,background .2s}.wk-hold-btn--pressing{border-color:#2dd4bfbf;background:#2dd4bf1a}.wk-hold-btn--disabled{opacity:.38;cursor:not-allowed}.wk-hold-btn__fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#2dd4bf4d,#2dd4bf73);transform:scaleX(0);transform-origin:left center}.wk-hold-btn--pressing .wk-hold-btn__fill{animation:wk-hold-fill 2s linear forwards}@keyframes wk-hold-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.wk-hold-btn__text{position:relative;z-index:1;pointer-events:none}.page--workout{padding-bottom:calc(7.5rem + env(safe-area-inset-bottom))}@media(max-height:700px){.wk-done-screen{padding-top:1.5rem}.wk-done-screen__icon{font-size:2.25rem}.wk-done-screen__title{font-size:1.55rem}.wk-cta,.wk-hold-btn{min-height:50px}}@media(prefers-reduced-motion:reduce){.wk-live-dot,.wk-active-badge__dot{animation:none}.wk-hold-btn--pressing .wk-hold-btn__fill{animation:none;transform:scaleX(.5)}}
