:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1ea;--surface:#fff;--surface-soft:#faf8f3;--surface-muted:#efe9df;--text:#151515;--text-soft:#44403c;--muted:#78716c;--primary:#b4532a;--primary-dark:#8f3f20;--primary-soft:#f6e7df;--danger:#b42318;--danger-soft:#fff1f0;--border:#ded6ca;--border-strong:#cfc5b7;--shadow:0 14px 35px #231f1b14;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{background:radial-gradient(circle at top left, #b4532a14, transparent 34%), var(--bg);min-width:320px;color:var(--text);margin:0}button,input,select{font:inherit}button{cursor:pointer}input,select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:16px;outline:none;margin-bottom:10px;padding:13px 14px}input::placeholder{color:#a8a29e}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #b4532a1f}.app-shell{background:var(--bg);width:min(100%,520px);min-height:100dvh;margin:0 auto}.app-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:calc(env(safe-area-inset-top,0px) + 14px) 18px 14px;background:#f4f1eaeb;border-bottom:1px solid #ded6cac7;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.app-header h1,.section-header h2,.hero-card h2,.card h2,.card h3{margin:0}.app-header h1{color:var(--text);letter-spacing:-.5px;font-size:22px;line-height:1.1}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px;font-size:11px;font-weight:800}.muted{color:var(--muted);line-height:1.55}.app-main{padding:20px 18px 118px}.section-header{margin-bottom:18px}.section-header h2{color:var(--text);letter-spacing:-.8px;font-size:30px;line-height:1.05}.section-header p{color:var(--muted);margin:8px 0 0;line-height:1.55}.auth-screen,.center-screen{background:radial-gradient(circle at top, #b4532a1f, transparent 34%), var(--bg);place-items:center;min-height:100dvh;padding:22px;display:grid}.auth-card{border:1px solid var(--border);width:min(100%,430px);box-shadow:var(--shadow);background:#fffffff0;border-radius:28px;padding:26px}.auth-card h1{color:var(--text);letter-spacing:-1px;margin:0 0 10px;font-size:38px}.loader{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.card,.empty-card,.hero-card,.stat-card,.timer-card,.mini-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;margin-bottom:14px;padding:16px}.hero-card{background:linear-gradient(135deg, #e4efe5f2, #fff 52%), var(--surface);justify-content:space-between;align-items:center;gap:14px;display:flex}.stats-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.stat-card{text-align:left;box-shadow:none;background:var(--surface-soft);margin:0;padding:14px 12px}.stat-card strong{color:var(--text);letter-spacing:-.7px;font-size:25px;display:block}.stat-card span{color:var(--muted);font-size:12px;font-weight:700}.primary,.outline,.ghost,.danger,.icon{border-radius:14px;min-height:44px;padding:12px 14px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s}.primary:active,.outline:active,.ghost:active,.danger:active,.icon:active{transform:scale(.98)}.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;width:100%;margin:6px 0;box-shadow:0 10px 20px #b4532a29}.primary:hover{background:var(--primary-dark)}.primary.compact{width:auto;min-width:max-content;padding-inline:16px}.outline{background:var(--surface);border:1px solid var(--border-strong);width:100%;color:var(--text-soft);margin:6px 0}.ghost{background:var(--surface);border:1px solid var(--border);color:var(--text-soft)}.ghost.small,.danger.small{min-height:38px;padding:8px 12px}.danger{background:var(--danger-soft);width:100%;color:var(--danger);border:1px solid #f0b8b2;margin:6px 0}.icon{background:var(--surface-soft);border:1px solid var(--border);width:46px;min-width:46px;color:var(--primary);padding:0;font-size:20px}.title-row,.mini-card,.button-grid{justify-content:space-between;align-items:center;gap:10px;display:flex}.button-grid{grid-template-columns:repeat(2,1fr);display:grid}.button-grid .primary,.button-grid .outline,.button-grid .danger{margin:0}.badge{background:var(--primary-soft);width:fit-content;color:var(--primary-dark);border-radius:999px;margin-top:8px;padding:6px 11px;font-size:12px;font-weight:800;display:inline-flex}.exercise-gif,.gif-fallback{object-fit:cover;background:var(--surface-muted);border:1px solid var(--border);border-radius:18px;width:100%;height:210px;margin-bottom:14px}.exercise-gif.large,.gif-fallback.large{height:280px}.gif-fallback{color:var(--muted);align-content:center;place-items:center;display:grid}.gif-fallback span{font-size:30px}.search-input{margin-bottom:12px}.chip-row{scrollbar-width:none;gap:10px;padding-bottom:14px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-soft);border-radius:999px;padding:8px 14px;font-weight:800}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.info-box,.row-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;margin-top:10px;padding:12px}.row-card{gap:4px;display:grid}.row-card span,.mini-card p{color:var(--muted);margin:0}.subheading{color:var(--text);letter-spacing:-.2px;margin:18px 0 10px}.form-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.form-grid input{margin-bottom:0}.empty-card{box-shadow:none;background:var(--surface-soft)}.empty-card strong{color:var(--text);margin-bottom:6px;display:block}.empty-card p{color:var(--muted);margin:0}.modal-backdrop{z-index:60;background:#1c19176b;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:var(--surface);border-radius:28px;width:min(100%,520px);max-height:90dvh;padding:18px;overflow:auto;box-shadow:0 24px 70px #231f1b38}.progress{background:var(--surface-muted);border-radius:999px;height:10px;margin-bottom:14px;overflow:hidden}.progress span{background:var(--primary);border-radius:inherit;height:100%;transition:width .25s;display:block}.timer-card{text-align:center}.timer-card strong{color:var(--text);letter-spacing:-1px;margin:8px 0 12px;font-size:46px;display:block}.check{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);text-align:left;border-radius:15px;margin-top:8px;padding:12px}.check.done{background:var(--primary-soft);border-color:#b4532a59}.bottom-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(100%,520px);padding:8px 10px calc(env(safe-area-inset-bottom,0px) + 10px);background:#f4f1eaeb;border-top:1px solid #ded6cac7;grid-template-columns:repeat(6,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--muted);background:0 0;border:0;border-radius:16px;place-items:center;gap:0;min-height:50px;padding:10px 2px;font-weight:800;display:grid}.nav-item span{display:none}.nav-item small{font-size:11px}.nav-item.active{background:var(--surface);color:var(--primary);outline:1px solid var(--border);box-shadow:0 8px 22px #231f1b14}@media (width<=380px){.app-main{padding-inline:14px}.section-header h2{font-size:27px}.nav-item small{font-size:10px}.stats-grid{gap:8px}.stat-card strong{font-size:22px}}@media (width>=760px){body{background:radial-gradient(circle at top,#b4532a1a,#0000 30%),#e9e2d7}.app-shell{border-left:1px solid var(--border);border-right:1px solid var(--border);box-shadow:0 0 70px #231f1b1a}}.auth-screen,.center-screen{min-height:100dvh;padding:max(18px, env(safe-area-inset-top,0px)) 20px max(18px, env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 0 0,#b4532a21,#0000 34%),linear-gradient(#f7f2ea 0%,#efe7dc 100%);place-items:center;display:grid;overflow-y:auto}.auth-card{background:#ffffffeb;border:1px solid #cfc5b7eb;border-radius:32px;width:min(100%,430px);padding:clamp(22px,6vw,28px);animation:.45s both authReveal;box-shadow:0 24px 70px #231f1b1f}.auth-card h1{color:var(--text);letter-spacing:-1.45px;margin:0 0 12px;font-size:clamp(34px,10vw,42px);line-height:.98}.auth-landing{align-content:center;min-height:min(720px,100dvh - 36px);display:grid}.auth-copy{animation:.5s both authReveal}.auth-kicker{color:var(--primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:900}.auth-lead{color:var(--text-soft);margin:0 0 18px;font-size:clamp(15px,4vw,17px);line-height:1.5}.auth-visual{height:clamp(230px,45dvh,300px);margin:10px 0 18px;position:relative}.floating-card{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9f0;position:absolute;box-shadow:0 18px 42px #231f1b1c}.floating-card span,.floating-card small{color:var(--muted);font-weight:800;display:block}.floating-card span{margin-bottom:5px;font-size:12px}.floating-card strong{color:var(--text);letter-spacing:-.4px;display:block}.floating-card small{margin-top:7px;font-size:11px}.floating-card-main{z-index:3;border-radius:28px;width:min(82%,310px);margin:0 auto;padding:20px;animation:4.6s ease-in-out infinite floatMain;top:48px;left:0;right:0}.floating-card-main strong{font-size:24px}.floating-progress{background:var(--surface-muted);border-radius:999px;height:9px;margin:14px 0 4px;overflow:hidden}.floating-progress i{border-radius:inherit;background:var(--primary);height:100%;display:block}.floating-card-small{z-index:4;border-radius:22px;width:136px;padding:15px}.floating-card-small strong{font-size:26px}.floating-card-top{animation:4.8s ease-in-out .25s infinite floatTop;top:0;right:4px}.floating-card-bottom{animation:5.1s ease-in-out .1s infinite floatBottom;bottom:8px;left:4px}.floating-ring{border:1px dashed #b4532a40;border-radius:42px;animation:4.8s ease-in-out infinite ringPulse;position:absolute;inset:42px 28px 18px;transform:rotate(-8deg)}.auth-benefits{gap:9px;margin:16px 0 18px;display:grid}.auth-benefits.compact{margin-top:0}.auth-benefit{color:var(--text-soft);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.auth-benefit:before{content:"";background:var(--primary);width:9px;height:9px;box-shadow:0 0 0 5px var(--primary-soft);border-radius:999px;flex:none}.auth-actions{gap:8px;display:grid}.auth-back{width:fit-content;min-height:34px;color:var(--primary);background:0 0;border:0;padding:0 0 12px;font-weight:900}.auth-form{gap:10px;margin-top:18px;display:grid}.auth-form label{color:var(--text-soft);gap:7px;font-size:13px;font-weight:800;display:grid}.auth-form input{border-color:var(--border-strong);background:#fffdf9;margin-bottom:0}.auth-form .primary{margin-top:4px}.auth-form .primary:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;color:var(--muted);margin:14px 0 0;font-size:14px}.auth-footer button{color:var(--primary);background:0 0;border:0;padding:4px;font-weight:900}.auth-notice{border-radius:18px;grid-template-columns:30px 1fr;align-items:center;gap:10px;margin:16px 0 0;padding:12px;font-weight:700;animation:.25s both authNotice;display:grid}.auth-notice span{border-radius:999px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.auth-notice p{margin:0;font-size:14px;line-height:1.35}.auth-notice.error{color:#8f241b;background:#fff1f0;border:1px solid #f0b8b2}.auth-notice.error span{color:#fff;background:#b42318}.auth-notice.success{color:#40552e;background:#f2f7ed;border:1px solid #cbdcbd}.auth-notice.success span{color:#fff;background:#6f8f4e}@keyframes authReveal{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes authNotice{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes floatMain{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@keyframes floatTop{0%,to{transform:translateY(0)rotate(4deg)}50%{transform:translateY(9px)rotate(2deg)}}@keyframes floatBottom{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-8px)rotate(-2deg)}}@keyframes ringPulse{0%,to{opacity:.6;transform:rotate(-8deg)scale(1)}50%{opacity:.95;transform:rotate(-6deg)scale(1.02)}}@media (width<=380px){.auth-screen,.center-screen{padding-inline:14px}.auth-card{border-radius:28px}.auth-visual{height:230px}.floating-card-main{width:88%;padding:18px;top:50px}.floating-card-small{width:126px;padding:13px}.floating-card-small strong{font-size:23px}}@media (height<=720px){.auth-landing{min-height:auto}.auth-visual{height:215px;margin-block:4px 12px}.auth-benefits.compact{display:none}.floating-card-main{top:40px}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-copy,.auth-notice,.floating-card-main,.floating-card-top,.floating-card-bottom,.floating-ring{animation:none}}.password-field{width:100%;position:relative}.password-field input{padding-right:92px}.password-toggle{background:var(--primary-soft);min-height:34px;color:var(--primary);border:0;border-radius:12px;padding:7px 10px;font-size:12px;font-weight:900;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.password-toggle:active{transform:translateY(-50%)scale(.98)}.password-hint{margin:-2px 0 4px;font-size:13px;font-weight:800;line-height:1.35}.password-hint.success{color:#526d36}.password-hint.error{color:#9f2d22}@media (width<=360px){.password-field input{padding-right:82px}.password-toggle{padding-inline:8px;font-size:11px;right:7px}}.forgot-link{width:fit-content;min-height:auto;color:var(--primary);background:0 0;border:0;margin:-2px 0 4px auto;padding:0;font-size:13px;font-weight:900}.auth-privacy{background:var(--primary-soft);color:var(--text-soft);border-radius:16px;margin:14px 0 0;padding:12px;font-size:13px;font-weight:700;line-height:1.45}.dashboard-hero{border:1px solid var(--border);box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#b4532a29,#0000 40%),#fffaf3;border-radius:30px;margin-bottom:14px;padding:22px}.dashboard-hero h2{letter-spacing:-1.3px;margin:0;font-size:clamp(32px,9vw,42px);line-height:.98}.today-card-header,.workout-card-header,.workout-focus-top,.history-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.today-pill{background:var(--primary-soft);width:fit-content;min-width:max-content;color:var(--primary);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.dashboard-stats{margin-top:2px}.weekly-card .title-row{margin-bottom:12px}.weekly-list{gap:9px;display:grid}.weekly-day{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);text-align:left;border-radius:18px;grid-template-columns:46px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.weekly-day>span{background:var(--surface);width:42px;height:42px;color:var(--muted);text-transform:uppercase;border-radius:16px;place-items:center;font-size:12px;font-weight:900;display:grid}.weekly-day strong,.weekly-day small{display:block}.weekly-day small{color:var(--muted);margin-top:3px;font-weight:700}.weekly-day.active{background:var(--primary-soft);border-color:#b4532a59}.weekly-day.active>span{background:var(--primary);color:#fff}.creator-step .empty-card{margin-top:10px}.library-list{gap:10px;display:grid}.primary:disabled,.outline:disabled{opacity:.62;cursor:not-allowed}.favorite-btn{border:1px solid var(--border);background:var(--surface-soft);min-height:38px;color:var(--text-soft);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.favorite-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.gif-fallback{text-align:center;gap:4px;padding:16px}.gif-fallback strong{color:var(--text-soft);font-size:15px}.gif-fallback p{color:var(--muted);margin:0;font-size:13px}.workout-card h3,.history-card h3{margin:0}.workout-meta-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0;display:grid}.workout-meta-grid div{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;padding:12px}.workout-meta-grid strong,.workout-meta-grid span{display:block}.workout-meta-grid strong{color:var(--text);letter-spacing:-.5px;font-size:20px}.workout-meta-grid span{color:var(--muted);margin-top:2px;font-size:12px;font-weight:800}.compact-row{margin-top:8px}.workout-actions{grid-template-columns:1fr 1fr;margin-top:12px}.workout-actions .danger{grid-column:1/-1}.workout-mode-hero{align-items:flex-start}.workout-focus-card h2{letter-spacing:-.7px;margin:0 0 12px;font-size:26px}.workout-focus-top{margin-bottom:12px}.workout-focus-top span{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.exercise-prescription{grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 14px;display:grid}.exercise-prescription div{border:1px solid var(--border);background:var(--surface-soft);text-align:center;border-radius:18px;padding:12px 8px}.exercise-prescription strong,.exercise-prescription span{display:block}.exercise-prescription strong{color:var(--text);letter-spacing:-.5px;font-size:22px}.exercise-prescription span{color:var(--muted);font-size:12px;font-weight:800}.button-grid.three{grid-template-columns:repeat(3,1fr)}.button-grid.three .primary,.button-grid.three .outline,.button-grid.three .danger{margin:0}.rest-card span{color:var(--muted);font-weight:800}.check{align-items:center;gap:10px;display:flex}.check-indicator{border:1px solid var(--border-strong);background:var(--surface);color:#fff;border-radius:9px;flex:none;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.check.done .check-indicator{background:var(--primary);border-color:var(--primary)}.history-header{margin-bottom:8px}@media (width<=380px){.button-grid.three,.workout-actions{grid-template-columns:1fr}.workout-actions .danger{grid-column:auto}.today-card-header,.workout-card-header,.history-header{display:grid}.today-pill{min-width:0}}.app-toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);z-index:90;border:1px solid var(--border);width:min(100% - 32px,460px);color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9f5;border-radius:20px;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:13px 14px;animation:.25s both toastIn;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 20px 55px #231f1b2e}.app-toast span{border-radius:999px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.app-toast p{margin:0;font-size:14px;font-weight:750;line-height:1.35}.app-toast.success{color:#40552e;background:#f7fbf2f5;border-color:#cbdcbd}.app-toast.success span{color:#fff;background:#6f8f4e}.app-toast.error{color:#8f241b;background:#fff1f0f5;border-color:#f0b8b2}.app-toast.error span{color:#fff;background:#b42318}.app-toast.info span{background:var(--primary);color:#fff}.feedback-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#231f1b6b;place-items:center;padding:20px;animation:.18s both fadeIn;display:grid;position:fixed;inset:0}.feedback-dialog{border:1px solid var(--border);background:#fffdf9fa;border-radius:28px;width:min(100%,420px);padding:22px;animation:.22s both dialogIn;box-shadow:0 28px 80px #231f1b3d}.feedback-icon{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:18px;place-items:center;margin-bottom:14px;font-weight:900;display:grid}.feedback-icon.danger{background:var(--danger-soft);color:var(--danger)}.feedback-dialog h3{color:var(--text);letter-spacing:-.5px;margin:0 0 8px;font-size:22px}.feedback-dialog p{color:var(--muted);margin:0;line-height:1.5}.feedback-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.feedback-actions .primary,.feedback-actions .outline,.feedback-actions .danger{margin:0}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=380px){.app-toast{bottom:calc(env(safe-area-inset-bottom,0px) + 82px);border-radius:18px;width:calc(100% - 24px)}.feedback-dialog{border-radius:24px;padding:20px}.feedback-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.app-toast,.feedback-backdrop,.feedback-dialog{animation:none}}
