@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap');
 .session-tools{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:22px}.warmup,.timer{box-shadow:none}.warmup-list{display:grid;gap:9px}.warmup-list label{display:flex;align-items:start;gap:11px;padding:13px;background:#f0f3e9}.warmup-list input{width:18px;height:18px;accent-color:var(--coral);flex:0 0 auto}.warmup-list span{display:grid;gap:4px}.warmup-list small{font-weight:400;color:var(--muted)}.timer{background:var(--ink);color:var(--paper);border:0}.timer .tag{color:var(--lime)}.timer h2{font:700 1.75rem 'Space Grotesk';margin:0}.timer-display{font:700 clamp(3.5rem,7vw,5rem)/1 'Space Grotesk';color:var(--lime);letter-spacing:.03em;margin:22px 0}.timer-controls{display:flex;gap:8px;flex-wrap:wrap}.timer-controls button{margin:0;padding:10px 12px;background:#30463c;color:var(--paper);border-color:#5c7064;cursor:pointer}.timer-controls button:last-child{background:var(--coral);border-color:var(--coral);font-weight:700}.timer-reset{border:0;background:transparent;color:#bdc8bc;text-decoration:underline;padding:15px 0 0;cursor:pointer}.timer p:last-child{color:#bdc8bc;line-height:1.4}.feedback{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;margin-top:22px;box-shadow:none}.feedback h2{font:700 1.75rem 'Space Grotesk';margin:0}.feedback-form{display:grid;gap:16px}.feedback-form label{display:grid;gap:8px}.feedback-form output{float:right;color:var(--coral);font-weight:700}.feedback-form input[type=range]{accent-color:var(--coral);width:100%}.feedback-form textarea{resize:vertical;font:inherit;padding:12px;border:1px solid #a9b3a5;background:#fffdf7;color:var(--ink)}.feedback-form .primary{margin:0}.saved{color:#5d814f;font-size:.85rem;min-height:18px}@media(max-width:760px){.session-tools,.feedback{grid-template-columns:1fr}}
.time-picker{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin:0 0 14px}.time-picker label{color:#bdc8bc;font-size:.78rem}.time-picker input{width:100%;margin-top:6px;padding:10px;border:1px solid #5c7064;background:#30463c;color:var(--paper);font:700 1.2rem 'Space Grotesk',sans-serif;text-align:center}.time-picker>span{padding-bottom:10px;color:var(--lime);font-size:1.5rem;font-weight:700}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{50%{transform:scale(1.18);opacity:.65}}.status i{animation:breathe 2.4s ease-in-out infinite}.routine-header{animation:appear .35s ease-out}.exercise{animation:appear .35s ease-out both}.exercise:nth-child(2){animation-delay:.04s}.exercise:nth-child(3){animation-delay:.08s}.exercise:nth-child(4){animation-delay:.12s}.image-upload{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.75rem;font-weight:700;color:var(--coral);white-space:nowrap}.image-upload input{position:absolute;width:1px;height:1px;opacity:0}.upload-label{border:1px dashed var(--coral);padding:6px 8px}.image-upload img{width:42px;height:42px;object-fit:cover;border-radius:4px;border:1px solid var(--line)}@media(max-width:600px){.exercise{grid-template-columns:28px 1fr auto}.image-upload{grid-column:2 / -1;justify-self:start}.dose{font-size:.85rem}}
.video-link{display:inline-block;margin-top:8px;color:#b34230;font-size:.78rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}.video-link:hover{color:#76291e}.week:has(.day:nth-child(5)){grid-template-columns:repeat(5,1fr)}@media(max-width:760px){.week:has(.day:nth-child(5)){grid-template-columns:repeat(2,1fr)}}
.dose{display:grid;gap:3px;text-align:right}.dose small{color:var(--muted);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.exercise-name{position:relative;padding-left:58px;min-height:48px}.exercise-visual{position:absolute;left:0;top:0;display:grid!important;place-items:center;width:46px;height:46px;border-radius:12px;background:#e4edc8;border:1px solid #bdce8d;font-size:1.55rem;text-decoration:none!important}.exercise.done .exercise-visual{filter:grayscale(.75);opacity:.65}@media(max-width:450px){.exercise-name{padding-left:0;padding-top:54px}.exercise-visual{left:0;top:0}}
.weekday-picker{border:1px solid var(--line);padding:16px;margin:0}.weekday-picker legend{font-weight:700;padding:0 6px}.weekday-picker p{margin:0 0 12px;color:var(--muted);font-size:.85rem}.weekday-options{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-options label{display:block}.weekday-options input{position:absolute;opacity:0}.weekday-options span{display:grid;place-items:center;padding:10px 4px;border:1px solid #a9b3a5;cursor:pointer}.weekday-options input:checked+span{background:var(--lime);border-color:var(--ink);font-weight:700}.weekday-options input:focus-visible+span{outline:3px solid #f5c04d}.day-help{display:block;margin-top:10px;color:var(--coral);font-size:.8rem;font-weight:700}.week.week-seven.week-seven{grid-template-columns:repeat(7,minmax(0,1fr))!important}@media(max-width:900px){.week.week-seven.week-seven{grid-template-columns:repeat(4,1fr)!important}}@media(max-width:600px){.weekday-options{grid-template-columns:repeat(4,1fr)}.week.week-seven.week-seven{grid-template-columns:repeat(2,1fr)!important}}
:root{--ink:#182b27;--paper:#f1eee5;--lime:#c8df86;--coral:#f0785e;--muted:#69756b;--line:#d3d8cc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.wrap{max-width:1120px;margin:auto;padding:28px 28px 80px}.topbar{display:flex;justify-content:space-between;align-items:center}.back{color:var(--ink);text-decoration:none;font-weight:700}.status{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.status i{display:inline-block;width:8px;height:8px;background:#72ad53;border-radius:50%;margin-right:7px}.intro{display:flex;justify-content:space-between;align-items:end;padding:72px 0 48px}.tag{color:var(--coral);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;margin:0 0 12px}.intro h1{font:700 clamp(3rem,8vw,7.5rem)/.86 'Space Grotesk',sans-serif;letter-spacing:-.07em;margin:0 0 22px}.intro p:last-child{font-size:1.15rem;max-width:560px;margin:0}.hero-mark{font:700 9rem/.7 'Space Grotesk';color:var(--coral);transform:rotate(12deg);padding-right:35px}.notice{display:flex;gap:18px;padding:18px 22px;background:#dbe8c2;border-left:6px solid var(--lime);margin-bottom:22px}.notice strong{white-space:nowrap}.notice span{color:#4e5e51}.layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.panel{background:#fffdf7;border:1px solid var(--line);padding:28px}.planner{display:grid;gap:18px;border-top:6px solid var(--coral)}.section-heading{display:flex;justify-content:space-between;align-items:start}.section-heading h2,.snapshot h2,.routine h2,.tips h2{font:700 1.75rem 'Space Grotesk';margin:0}.step{font-weight:700;color:var(--muted)}label{font-weight:700;display:grid;gap:8px}select,button{font:inherit;padding:13px 14px;border:1px solid #a9b3a5;background:#fffdf7;color:var(--ink)}select:focus,button:focus{outline:3px solid #f5c04d;outline-offset:2px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.primary{background:var(--coral);border-color:var(--coral);font-weight:700;cursor:pointer;margin-top:4px}.primary span{float:right;font-size:1.3rem}.ghost{border:0;text-decoration:underline;color:var(--muted);padding:4px;background:transparent;cursor:pointer}.snapshot{background:var(--ink);color:var(--paper);border:0;display:flex;flex-direction:column}.snapshot .tag{color:var(--lime)}.score{display:flex;align-items:baseline;gap:10px;margin:20px 0 10px}.score strong{font:700 4.3rem/.9 'Space Grotesk';color:var(--lime)}.score span,.stat-row span{color:#b4c0ae;font-size:.85rem}.progress{height:8px;background:#40554a;margin:0 0 25px}.progress span{display:block;height:100%;width:0;background:var(--lime);transition:width .3s}.snapshot #resumen{color:#cbd4c5;line-height:1.5;min-height:48px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #41534a;padding-top:20px;margin-top:auto}.stat-row div{display:grid;gap:4px}.stat-row strong{font:700 1.5rem 'Space Grotesk'}.routine{margin-top:22px;min-height:230px}.empty{text-align:center;max-width:420px;margin:35px auto;color:var(--muted)}.empty-icon{display:block;margin:0 auto 14px;width:40px;height:40px;border-radius:50%;background:var(--lime);font-size:2rem;line-height:38px;color:var(--ink)}.empty h2{color:var(--ink);font-size:1.4rem}.empty p{line-height:1.5}.routine-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:15px}.routine-header p{color:var(--muted);margin:7px 0 0}.week{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px}.day{padding:14px;background:#eef3e5;border-top:4px solid var(--lime)}.day.rest{border-color:#d7dcd3;background:#f7f7f2}.day strong,.day span{display:block}.day span{font-size:.8rem;color:var(--muted);margin-top:5px}.exercise-list{display:grid;gap:9px}.exercise{display:grid;grid-template-columns:34px 1fr auto;gap:13px;align-items:center;padding:14px;background:#f4f2eb}.exercise input{width:18px;height:18px;accent-color:var(--coral)}.exercise.done .exercise-name{text-decoration:line-through;color:var(--muted)}.exercise-name strong,.exercise-name small{display:block}.exercise-name small{color:var(--muted);margin-top:4px}.dose{font-weight:700;white-space:nowrap}.tips{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:72px 0 0}.tips h2{font-size:2.4rem;max-width:340px}.tip-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tip-list p{display:flex;gap:12px;margin:0;color:var(--muted);line-height:1.45}.tip-list b{color:var(--coral);font-size:.8rem}.tip-list strong{color:var(--ink)}@media(max-width:760px){.wrap{padding:22px 18px 55px}.intro{padding:55px 0 35px}.hero-mark{font-size:5rem;padding-right:0}.layout,.tips{grid-template-columns:1fr}.snapshot{min-height:250px}.week{grid-template-columns:repeat(2,1fr)}.tips{padding-top:50px}.tip-list{grid-template-columns:1fr}}@media(max-width:450px){.intro{display:block}.hero-mark{display:none}.notice{display:block}.notice strong{display:block;margin-bottom:8px}.two-columns{grid-template-columns:1fr}}
