:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#fff;background:linear-gradient(180deg,#f54d55,#ff7b33);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--white: #ffffff;--ink: #12121a;--soft-ink: rgba(18, 18, 26, .58);--card: rgba(255, 255, 255, .96);--card-border: rgba(255, 255, 255, .24);--shadow: 0 24px 48px rgba(21, 18, 39, .2);--shadow-soft: 0 12px 28px rgba(21, 18, 39, .12);--work-chip: linear-gradient(135deg, #6b39ff, #295dff);--rest-chip: linear-gradient(135deg, #ff9d3d, #ff613b);--cycle-chip: linear-gradient(135deg, #ff5a63, #ff8c3d);--time-chip: linear-gradient(135deg, #f05ba7, #8252ff);--setup-bg: linear-gradient(180deg, #ef4f57 0%, #ff7c33 100%);--work-bg: linear-gradient(180deg, #7a2eff 0%, #2a63ff 100%);--rest-bg: linear-gradient(180deg, #ff973d 0%, #ff6038 100%);--done-bg: linear-gradient(180deg, #ff4f70 0%, #7d3bff 100%);--track: rgba(255, 255, 255, .18)}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}html{min-height:-webkit-fill-available;background:#f86546}body{position:relative;min-height:-webkit-fill-available;margin:0;min-width:320px;background:#f86546;isolation:isolate}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ef4f57,#ff7c33);z-index:-1;pointer-events:none}button,input{font:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;min-height:-webkit-fill-available;min-height:100vh;min-height:100svh;min-height:100dvh;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));overflow-x:hidden;transition:background .32s ease}.app-shell:before,.app-shell:after{content:"";position:absolute;border-radius:50%;filter:blur(18px);opacity:.65;pointer-events:none}.app-shell:before{width:15rem;height:15rem;top:-5rem;right:-3rem;background:#ffffff38}.app-shell:after{width:12rem;height:12rem;bottom:12rem;left:-4rem;background:#ffd6993d}.theme-setup{background:var(--setup-bg)}.theme-work{background:var(--work-bg)}.theme-rest{background:var(--rest-bg)}.theme-done{background:var(--done-bg)}.setup-screen,.timer-screen{position:relative;z-index:1;width:min(100%,34rem);margin:0 auto;display:flex;flex-direction:column}.setup-screen{gap:.95rem;min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem);min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem);padding-bottom:8.5rem}.timer-screen{gap:.95rem;min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem)}.hero-copy,.summary-card,.workout-card,.finished-panel,.dialog-card,.motivation-toast,.next-workout-button,.end-workout-button{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hero-copy{padding-top:.4rem}.summary-label,.builder-title,.timer-phase,.timer-overline{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.hero-copy h1{margin:0;font-size:clamp(2rem,9vw,3rem);line-height:.95;font-weight:800}.summary-card{display:grid;gap:.7rem;border-radius:1.75rem;padding:1rem 1rem 1.05rem;background:#ffffff24;border:1px solid rgba(255,255,255,.16)}.summary-card--single{grid-template-columns:1fr}.summary-block{display:grid;gap:.3rem}.summary-block--single{justify-items:start}.duration-parts{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.45rem .7rem;color:var(--white)}.duration-parts__group{display:inline-flex;align-items:baseline;gap:.18rem}.duration-parts__value{font-size:clamp(1.7rem,7vw,2.8rem);line-height:.94;font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.duration-parts__unit{font-size:.9rem;line-height:1;font-weight:700;opacity:.88;text-transform:lowercase}.duration-parts__plus{align-self:center;margin-left:.1rem;font-size:1.4rem;line-height:1;font-weight:800}.duration-parts--compact{justify-content:center;gap:.32rem .45rem}.duration-parts--compact .duration-parts__value{font-size:1.18rem;letter-spacing:-.04em}.duration-parts--compact .duration-parts__unit{font-size:.72rem}.duration-parts--compact .duration-parts__plus{font-size:1rem}.duration-parts--light{color:#fffffff0}.plan-stack{display:grid;gap:.95rem}.workout-card{display:grid;gap:.9rem;border-radius:1.8rem;padding:.95rem;box-shadow:var(--shadow)}.workout-card--cycle{background:var(--card);color:var(--ink)}.workout-card--time{color:var(--white)}.workout-card--work{background:var(--work-chip)}.workout-card--rest{background:var(--rest-chip)}.workout-card__header,.builder-header,.timer-headline{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}.workout-card__title-group{display:inline-flex;align-items:center;gap:.65rem}.workout-card__title-group h3{margin:0;font-size:1.2rem;line-height:1;font-weight:800}.workout-type-icon{width:1.45rem;height:1.45rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.workout-card__section{display:grid;gap:.75rem}.builder-title{color:var(--soft-ink);font-weight:800}.workout-card--time .builder-title,.workout-card--time .cycle-meta{color:#ffffffe6}.cycle-meta{color:var(--soft-ink);font-weight:700}.mode-switch,.add-buttons{display:flex;gap:.65rem}.mode-switch{flex-wrap:wrap}.mode-switch--full{width:100%}.mode-chip,.mini-button,.primary-button,.icon-button,.add-button,.next-workout-button,.end-workout-button,.round-control{border:0;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .18s ease,border-color .18s ease}.mode-chip,.mini-button,.icon-button{min-height:2.65rem}.mode-chip{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:999px;padding:.72rem 1rem;background:#f3f3f7;color:var(--ink);font-weight:700}.mode-chip--active{background:linear-gradient(135deg,#ff5a4e,#ff7d2f);color:var(--white);box-shadow:0 12px 24px #ff5e3f42}.mode-chip--light{background:#ffffff2e;color:#ffffffeb}.mode-chip--active-light{background:#fffffff5;color:var(--ink);box-shadow:0 12px 24px #1b102f2e}.mode-chip__icon{width:1.04rem;height:1.04rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.duration-stepper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}.mini-button,.icon-button{border-radius:999px;padding:.75rem .9rem;background:#f2f4f8;color:var(--ink);font-weight:700;box-shadow:var(--shadow-soft)}.mini-button--dark{width:2.2rem;min-width:2.2rem;height:2.2rem;min-height:2.2rem;padding:0;background:#111;color:var(--white);font-size:1.15rem;line-height:1;box-shadow:none}.icon-button{width:2.15rem;min-width:2.15rem;height:2.15rem;min-height:2.15rem;padding:0;font-size:1.35rem;line-height:1}.workout-remove-button--dark{background:#f4f5f8;color:var(--soft-ink);box-shadow:none}.workout-remove-button--light{background:#ffffff2e;color:#ffffffeb;box-shadow:none}.icon-button--row{width:2rem;min-width:2rem;height:2rem;min-height:2rem;background:transparent;color:#fffffff5;box-shadow:none}.duration-input-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:3rem;border-radius:1rem;padding:.2rem .9rem;background:#f6f7fb;border:1px solid rgba(18,18,26,.08)}.duration-input-shell--wide{min-height:3rem}.duration-input-shell--compact{width:6.15rem;min-height:2.35rem;border-radius:999px;padding:.1rem .7rem}.duration-input-shell--light{background:#fffffff5;border-color:#ffffff1f}.duration-input-shell--time-parts{display:flex;align-items:center;justify-content:center;gap:.46rem;grid-template-columns:none;padding-inline:.8rem}.duration-input{width:100%;border:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:700;outline:none;text-align:center}.duration-input--light{color:var(--ink)}.time-part{display:inline-flex;align-items:baseline;gap:.18rem;min-width:0}.time-part__input{width:2.55rem;min-width:2.55rem;padding-inline:.08rem;border:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:700;line-height:1.15;outline:none;text-align:right}.time-part__unit{color:#12121a8f;font-size:.82rem;font-weight:700;text-transform:lowercase}.duration-unit{color:var(--soft-ink);font-weight:600;font-size:.85rem}.duration-unit--light{color:#12121a8f}.time-workout-meta{margin-top:-.1rem;display:flex;justify-content:center;text-align:center}.empty-state{display:grid;gap:.2rem;border-radius:1.2rem;padding:.95rem 1rem;background:#f8f7fb;border:1px dashed rgba(18,18,26,.12);color:var(--ink)}.empty-state--plan{background:#ffffff29;color:#fffffff5;border-color:#ffffff2e}.empty-state p,.empty-state span{margin:0}.steps-stack{display:grid;gap:.45rem}.step-row{display:block;border-radius:1.05rem;padding:.55rem .7rem;border:1px solid rgba(18,18,26,.08);background:#fff;box-shadow:none}.step-row--work{background:var(--work-chip);border-color:#ffffff24;box-shadow:0 12px 24px #4846ff3d}.step-row--rest{background:var(--rest-chip);border-color:#ffffff24;box-shadow:0 12px 24px #ff6f3c38}.step-row-main{display:flex;align-items:center;gap:.55rem}.step-marker{display:grid;place-items:center;flex:0 0 auto;color:#fff;padding-left:.24rem}.step-icon-svg{width:1.58rem;height:1.58rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.step-controls-cluster{flex:1;display:flex;align-items:center;justify-content:center;gap:.45rem}.add-buttons{flex-wrap:wrap}.add-buttons--steps{margin-top:.45rem}.add-buttons--plan{margin-top:.25rem}.add-button{flex:1 1 10rem;min-height:3.05rem;border-radius:1.25rem;padding:.82rem 1rem;color:var(--white);font-weight:800;box-shadow:var(--shadow-soft)}.add-button--work{background:linear-gradient(135deg,#7656f4,#5477f0)}.add-button--rest{background:linear-gradient(135deg,#f4a152,#f47b59)}.add-button--cycle{background:var(--cycle-chip)}.add-button--time{background:var(--time-chip)}.add-button__content{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:100%}.add-button__content--plan{gap:.62rem}.add-button__icon{width:1.36rem;height:1.36rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sticky-stack{position:sticky;bottom:calc(.25rem + env(safe-area-inset-bottom));display:grid;gap:.7rem;padding-top:.35rem}.sticky-action{display:grid}.primary-button{min-height:3.85rem;border-radius:999px;padding:.95rem 1.3rem;font-weight:800;width:100%;background:#fff;color:#ea4b55;box-shadow:0 20px 38px #1b102f38}.primary-button:disabled{opacity:.56;cursor:default}.dialog-backdrop,.motivation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.dialog-backdrop{display:grid;place-items:center;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));background:#100e196b}.dialog-card{width:min(100%,22rem);display:grid;gap:.9rem;border-radius:1.75rem;padding:1.1rem 1rem 1rem;background:#fffffff2;color:var(--ink);box-shadow:0 24px 48px #100e193d}.dialog-card--danger{box-shadow:0 24px 48px #781b203d}.dialog-title,.dialog-body{margin:0}.dialog-title{font-size:1.1rem;line-height:1.1;font-weight:800}.dialog-body{color:var(--soft-ink);line-height:1.42}.dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dialog-button{min-height:3rem;border-radius:999px;padding:.8rem 1rem;border:0;font-weight:800;cursor:pointer}.dialog-button--secondary{background:#f3f4f7;color:var(--ink)}.dialog-button--primary{background:linear-gradient(135deg,#ff5a4e,#ff7d2f);color:var(--white)}.dialog-button--danger{background:linear-gradient(135deg,#ff5b63,#ff7f71);color:var(--white)}.motivation-overlay{display:grid;place-items:center;padding:calc(1.25rem + env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom));pointer-events:none;overflow:hidden}.motivation-toast{position:relative;z-index:1;width:min(100%,22.5rem);display:grid;gap:.42rem;justify-items:center;padding:1.35rem 1.25rem 1.4rem;border-radius:2rem;background:#ffffff38;border:1px solid rgba(255,255,255,.28);text-align:center;overflow:hidden;box-shadow:0 30px 60px #120c2347;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:toastPop .42s ease-out}.motivation-toast>:not(.confetti-layer){position:relative;z-index:1}.motivation-toast__title,.motivation-toast__body{margin:0}.motivation-toast__title{font-size:1.45rem;line-height:1.02;font-weight:800;color:#fffffffa}.motivation-toast__body{max-width:18rem;font-size:1.02rem;color:#ffffffd6;line-height:1.4}.timer-headline{align-items:flex-end}.timer-headline h2{margin:0;display:grid;gap:.2rem;font-size:1.18rem;line-height:1.05;font-weight:800;text-align:right}.timer-headline h2 span{font-size:.9rem;font-weight:700;color:#ffffffd1}.timer-stage{position:relative;display:grid;place-items:center;min-height:25rem;padding:3.3rem 0 .1rem;margin-top:.95rem}.orb-glow{position:absolute;width:min(82vw,20rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.3),transparent 64%);filter:blur(10px);animation:breathe 3.2s ease-in-out infinite}.progress-ring{width:min(82vw,21.5rem);aspect-ratio:1;transform:rotate(-90deg)}.progress-track,.progress-value{stroke-width:15}.progress-track{stroke:var(--track)}.progress-value{stroke:#fffffff5;stroke-linecap:round}.timer-content{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,calc(-50% + 1.4rem));width:min(72vw,17rem);text-align:center}.timer-mode-stack{display:grid;gap:.14rem}.timer-session-duration{margin:0;color:#ffffffd1;font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}.timer-clock{margin:.25rem 0 .45rem;font-size:clamp(3.65rem,20vw,6rem);line-height:.88;font-weight:800;letter-spacing:-.05em}.timer-overline,.timer-detail{color:#ffffffdb}.timer-detail{margin:0;line-height:1.35}.finished-panel{display:grid;gap:.45rem;padding:1.4rem 1.2rem 1.6rem;border-radius:2rem;background:#ffffff24;border:1px solid rgba(255,255,255,.2);text-align:center}.timer-screen--finished{overflow:hidden}.timer-screen--finished>:not(.confetti-layer){position:relative;z-index:1}.control-row{display:flex;justify-content:center}.runtime-controls{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;margin-top:.35rem}.runtime-controls__spacer{min-height:1px}.runtime-controls__center{justify-self:center}.runtime-controls__side{justify-self:end;width:min(100%,8.8rem)}.round-control{position:relative;width:4.3rem;height:4.3rem;min-width:4.3rem;min-height:4.3rem;border-radius:999px;background:#fffffff5;box-shadow:0 18px 34px #1b102f33}.round-control__pause,.round-control__play,.round-control__restart{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.round-control__pause{width:1rem;height:1.2rem}.round-control__pause:before,.round-control__pause:after{content:"";position:absolute;top:0;width:.26rem;height:1.2rem;border-radius:999px;background:#151526}.round-control__pause:before{left:.15rem}.round-control__pause:after{right:.15rem}.round-control__play{width:0;height:0;border-top:.62rem solid transparent;border-bottom:.62rem solid transparent;border-left:1rem solid #151526;margin-left:.12rem}.round-control__restart{width:1.2rem;height:1.2rem;border:.18rem solid #151526;border-left-color:transparent;border-radius:999px}.round-control__restart:after{content:"";position:absolute;top:-.1rem;left:-.08rem;width:.42rem;height:.42rem;border-top:.18rem solid #151526;border-left:.18rem solid #151526;transform:rotate(-34deg)}.next-workout-button{display:grid;gap:.16rem;width:100%;min-height:3.7rem;padding:.8rem .9rem;border-radius:1.25rem;text-align:left;background:#ffffff24;color:#fffffff5;border:1px solid rgba(255,255,255,.18);box-shadow:none}.next-workout-button span{font-size:.88rem;font-weight:800;line-height:1.05}.next-workout-button small{font-size:.7rem;line-height:1.25;color:#ffffffc2}.end-workout-button{margin-top:auto;align-self:center;min-height:2.9rem;padding:.8rem 1.15rem;border-radius:999px;background:#ffffff24;color:#fffffff2;font-weight:700;letter-spacing:.01em;box-shadow:none}.end-workout-button--alert{border:1px solid rgba(255,92,92,.7)}.confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.confetti-layer--fullscreen{position:absolute;top:-8vh;right:0;bottom:0;left:0;z-index:2}.confetti-layer--motivation .confetti-piece{opacity:.98;box-shadow:0 .12rem .35rem #0b0a1629}.confetti-layer--finish{top:-12vh;right:-6vw;bottom:0;left:-6vw}.confetti-layer--finish .confetti-piece{opacity:.99;box-shadow:0 .18rem .48rem #0b0a162e;filter:saturate(1.06)}.confetti-piece{position:absolute;top:-10%;width:var(--confetti-size);height:calc(var(--confetti-size) * 1.9);border-radius:999px;background:var(--confetti-color);opacity:0;transform:translateZ(0) rotate(0);animation:confettiFall linear forwards}.phase-flash{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transform:scale(.96)}.phase-flash--visible{animation:flashPulse .78s ease-out forwards}.phase-flash--work{background:radial-gradient(circle,rgba(122,46,255,.26),transparent 58%)}.phase-flash--rest{background:radial-gradient(circle,rgba(255,151,61,.24),transparent 60%)}.phase-flash--done{background:radial-gradient(circle,rgba(255,79,112,.24),transparent 62%)}.primary-button:active,.mode-chip:active,.mini-button:active,.icon-button:active,.add-button:active,.round-control:active,.next-workout-button:active,.end-workout-button:active{transform:scale(.985)}@keyframes flashPulse{0%{opacity:0;transform:scale(.94)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.07)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-8%,0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),118vh,0) rotate(var(--confetti-rotation))}}@keyframes toastPop{0%{opacity:0;transform:translateY(-.6rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,to{transform:scale(.97);opacity:.68}50%{transform:scale(1.03);opacity:.96}}@media (min-width: 720px){.app-shell{display:grid;place-items:center;padding-inline:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
