@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#f6f6f4;--surface:#fff;--ink:#202321;--muted:#68706b;--orange:#ee4b24;--orange-soft:#fff0e9;--border:#dfe2de;--green:#287a49;--dark:#202923;--radius:20px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}button,input,textarea,select{font:inherit;color:var(--ink)}input,textarea,select{color-scheme:light;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}input::placeholder,textarea::placeholder{-webkit-text-fill-color:#747c76;opacity:1}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 1000px #fff inset}option{color:var(--ink);background:#fff}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button,a,input,textarea,select{outline-offset:5px}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand,.stat-number{font-family:'Space Grotesk','Arial',sans-serif;letter-spacing:-.055em}h2{font-size:2rem;line-height:1.2}h3{font-size:1.3rem;letter-spacing:-.035em}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.topbar{height:94px;max-width:1380px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:2rem;font-weight:700;letter-spacing:-.08em}.brand-icon{background:var(--orange);color:white;width:39px;height:39px;border-radius:11px;display:grid;place-content:center;font-size:1.95rem;line-height:1;padding-bottom:5px;letter-spacing:-.13em;padding-right:3px}.brand-dot{font-family:Arial,sans-serif;font-size:12px;align-self:flex-start;margin-top:10px;letter-spacing:0}.header-note,.eyebrow,.entry-kicker,.entry-path,.entry-footer,.label-cap{font-size:12px;font-weight:700;letter-spacing:.12em}.header-note{color:var(--muted)}.entry{max-width:1250px;margin:0 auto;padding:85px 50px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center;min-height:calc(100dvh - 94px)}.entry-copy{padding:0 0 18px}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:35px}.eyebrow i{width:8px;height:8px;background:var(--orange);border-radius:100%}.entry h1{font-size:clamp(4.6rem,7.5vw,6.9rem);font-weight:600;line-height:.98;margin:0 0 28px}.entry h1 em{font-style:normal;color:var(--orange)}.lead{font-size:1.2rem;color:var(--muted);line-height:1.6}.entry-path{display:flex;gap:21px;margin-top:48px;color:var(--muted);font-size:11px}.entry-panel{background:white;border:1px solid var(--border);border-radius:26px;padding:43px 38px;box-shadow:0 16px 50px #20292304}.entry-kicker{color:var(--orange);margin-bottom:22px}.entry-panel h2{margin-bottom:12px}.entry-panel>p{color:var(--muted);max-width:330px;margin-bottom:30px}.entry-panel label{font-size:14px;font-weight:700;display:block;margin-bottom:8px}.dni-field{position:relative}.dni-field input{width:100%;border:1.5px solid var(--border);border-radius:12px;height:62px;padding:0 50px 0 18px;font-size:1.25rem;line-height:1.5;letter-spacing:.025em;font-variant-numeric:tabular-nums;min-width:0;background:#fafbf9}.dni-field input:focus{border-color:var(--orange);outline:2px solid #f04b2315}.dni-field input::placeholder{font-size:1rem;letter-spacing:0;color:#9aa09b}.dni-icon{position:absolute;right:19px;top:16px;color:var(--muted);font-size:20px}.field-help{font-size:13px;color:var(--muted);margin:8px 0 24px}.button{border:0;border-radius:12px;min-height:52px;padding:13px 24px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:10px;transition:transform .15s,background .15s;line-height:1.3}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:scale(.98)}.primary{background:var(--orange);color:white}.primary:hover:not(:disabled){background:#d6401e}.secondary{background:var(--ink);color:white}.outline{background:transparent;border:1px solid var(--border);color:var(--ink)}.ghost{background:transparent;color:var(--muted)}.full{width:100%}.entry-bottom{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;margin-top:24px;color:var(--muted)}.tiny-lock{font-size:7px}.entry-footer{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:25px 0;color:#7a827c;font-size:10px}.inline-error{color:#af2c19;font-size:14px;margin-bottom:15px}.inline-error:empty{display:none}.screen{animation:screen-in .24s ease both}.workspace{max-width:1220px;margin:auto;padding:43px 45px 110px}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.workspace-top h1{font-size:2.8rem;line-height:1.1;margin:8px 0}.muted{color:var(--muted)}.nav-actions{display:flex;gap:10px;align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--border);border-radius:12px;width:45px;height:45px}.small{min-height:42px;padding:10px 15px;font-size:14px}.badge{display:inline-flex;align-items:center;gap:7px;background:var(--orange-soft);color:#b93c19;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600}.badge.dark{background:#e8ebe7;color:var(--ink)}.badge.green{background:#e9f4eb;color:var(--green)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);margin-bottom:30px}.tab{border:0;background:transparent;font-weight:600;color:var(--muted);padding:16px 0;position:relative;font-size:15px}.tab.active{color:var(--ink)}.tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--orange)}.dashboard-grid{display:grid;grid-template-columns:1fr 320px;gap:27px}.plan-hero{background:var(--dark);color:#fff;border-radius:21px;padding:30px;display:flex;justify-content:space-between;gap:15px;margin-bottom:25px;position:relative;overflow:hidden}.plan-hero h2{margin:9px 0 12px;font-size:2.3rem}.plan-hero p{color:#c5cfc7;margin:0;font-size:14px;max-width:390px}.plan-hero .label-cap{color:#b9c4bb}.hero-days{align-self:center;min-width:110px;text-align:right}.hero-days strong{font-family:'Space Grotesk',sans-serif;font-size:5rem;font-weight:500;line-height:1}.hero-days span{display:block;color:#b9c4bb;font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px;gap:15px}.section-head h3{margin:0}.section-head span{font-size:13px;color:var(--muted)}.day-card{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:15px;width:100%;padding:22px 20px;text-align:left;background:white;border:1px solid var(--border);border-radius:15px;margin:11px 0;transition:transform .18s,border-color .18s}.day-card:hover{border-color:var(--orange);transform:translateX(3px)}.day-number{font-family:'Space Grotesk',sans-serif;font-size:2rem;letter-spacing:-.04em;color:#b1b8b1;border-right:1px solid var(--border)}.day-card.next .day-number{color:var(--orange)}.day-card h3{margin:0 0 5px;font-size:1.1rem}.day-meta{font-size:13px;color:var(--muted)}.day-end{font-size:13px;font-weight:600;display:flex;flex-direction:column;align-items:end;gap:8px}.day-end span{color:var(--muted);font-weight:400}.side-card{border:1px solid var(--border);background:white;border-radius:20px;padding:25px;margin-bottom:20px}.side-card h3{margin-bottom:20px}.level-track{display:flex;flex-direction:column;gap:22px}.level-row{display:flex;align-items:center;gap:13px}.level-mark{width:31px;height:31px;border-radius:100%;border:1px solid var(--border);display:grid;place-content:center;font-size:12px;font-weight:700;color:#9ba19a}.level-row.current .level-mark{background:var(--orange);border-color:var(--orange);color:white;box-shadow:0 0 0 5px #fff0e9}.level-row strong{font-size:14px;font-weight:600;display:block}.level-row small{color:var(--muted);font-size:12px}.side-note{font-size:13px;color:var(--muted);border-top:1px solid var(--border);margin:20px 0 0;padding-top:16px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stat-number{display:block;font-size:2.4rem;line-height:1.25}.stats small{font-size:12px;color:var(--muted)}.note-card{border-radius:17px;background:var(--orange-soft);padding:20px}.note-card strong{font-size:14px}.note-card p{font-size:13px;color:#89573f;margin:8px 0 0}.wizard{max-width:720px;margin:45px auto;padding:0 25px 45px}.wizard-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;font-size:13px;color:var(--muted)}.progress{height:5px;border-radius:8px;overflow:hidden;background:#e3e7e1}.progress>span{height:100%;display:block;background:var(--orange);transition:width .35s ease;border-radius:8px}.wizard h1{font-size:2.7rem;line-height:1.1;margin:48px 0 15px}.wizard .intro{color:var(--muted);margin-bottom:30px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{display:flex;align-items:center;gap:14px;cursor:pointer;min-height:85px;padding:18px;border:1.5px solid var(--border);border-radius:15px;background:white;transition:background .15s,border-color .15s,transform .15s}.choice:hover{border-color:#a6aca7;transform:translateY(-1px)}.choice:has(input:checked){background:var(--orange-soft);border-color:var(--orange)}.choice:has(input:focus-visible){outline:3px solid #ee4b2466;outline-offset:3px}.choice input{accent-color:var(--orange);width:18px;height:18px;flex-shrink:0}.choice strong{font-size:16px;display:block;font-weight:600}.choice small{font-size:13px;color:var(--muted);display:block}.choice .choice-figure{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:600;line-height:1.1;width:42px;text-align:center;color:#899088}.choice:has(input:checked) .choice-figure{color:var(--orange)}.days-grid{grid-template-columns:repeat(3,1fr)}.days-grid .choice{flex-direction:column;position:relative;gap:4px;min-height:110px;justify-content:center}.days-grid input{position:absolute;top:12px;right:12px;width:14px;height:14px}.wizard-actions{display:flex;justify-content:space-between;gap:20px;margin-top:34px}.wizard-actions .button{min-width:155px}.time-presets{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.pill{color:var(--ink);min-height:48px;font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid var(--border);border-radius:10px;background:white;padding:11px 17px;font-size:14px}.pill.active{background:var(--orange-soft);border-color:var(--orange);color:#b33e1e}.time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:20px 0}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field{min-width:0}.field input,.field textarea,.field select{width:100%;min-width:0;color:var(--ink);border:1px solid var(--border);background:white;border-radius:12px;min-height:52px;padding:12px;font-size:16px}.field input:focus,.field textarea:focus{outline:2px solid #ee4b2433;border-color:var(--orange)}.field textarea{resize:vertical;min-height:100px}.choice-grid.compact .choice{min-height:62px;padding:14px;gap:10px}.choice-grid.compact .choice strong{font-size:14px}.summary-chips{display:flex;flex-wrap:wrap;gap:8px}.summary-chip{font-size:14px;padding:9px 13px;background:white;border:1px solid var(--border);border-radius:9px}.generation{min-height:60dvh;display:grid;place-content:center;text-align:center;padding:30px}.generation .brand-icon{width:75px;height:75px;margin:0 auto 25px;font-size:3.6rem;border-radius:22px;animation:breathing 1s infinite alternate}.generation h2{font-size:2.2rem;margin-bottom:12px}.generation p{color:var(--muted)}.session-header{display:flex;justify-content:space-between;align-items:start;gap:20px}.session-header h1{font-size:2.7rem;margin:8px 0 14px;line-height:1.1}.back-button{font-size:14px;display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;padding:0;color:var(--muted);margin-bottom:20px}.session-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;margin-top:25px}.session-list{min-width:0}.block-label{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted);margin:30px 0 12px}.block-label:first-child{margin-top:0}.exercise-card{background:white;border:1px solid var(--border);border-radius:16px;margin-bottom:11px;padding:20px;display:flex;align-items:center;gap:16px;transition:background .2s,border .2s}.exercise-card.completed{background:#eef4ee;border-color:#d2e3d3}.check-wrap{position:relative;flex-shrink:0}.check-wrap input{appearance:none;display:block;width:32px;height:32px;margin:0;border:1.5px solid #ccd2cb;border-radius:10px;background:#fff;cursor:pointer}.check-wrap input:checked{background:var(--green);border-color:var(--green);animation:check-pop .2s}.check-wrap input:checked:after{content:'✓';display:block;color:#fff;text-align:center;line-height:29px;font-size:21px}.exercise-body{flex:1;text-align:left;border:0;background:transparent;padding:0;color:var(--ink);min-width:0}.exercise-body strong{display:block;font-size:16px;font-weight:600;margin-bottom:4px}.exercise-body small{font-size:13px;color:var(--muted);display:block}.exercise-prescription{display:flex;gap:13px;margin-top:10px;font-size:13px;font-weight:500;flex-wrap:wrap}.exercise-prescription span{display:flex;gap:5px;align-items:center}.info-3d{border:1px solid var(--border);border-radius:9px;color:var(--muted);padding:6px 8px;font-size:11px;font-weight:700;background:white;flex-shrink:0;display:flex;align-items:center;gap:4px}.info-3d .icon{width:14px;height:14px}.warm-options{margin:-1px 0 16px 47px}.warm-options label{font-size:12px;display:block;color:var(--muted);margin-bottom:6px}.warm-options select{min-width:0;max-width:100%;color:var(--ink);background:white;border:1px solid var(--border);border-radius:9px;padding:9px;width:100%;font-size:14px}.session-progress{position:sticky;top:24px}.progress-circle{width:135px;height:135px;display:grid;place-content:center;position:relative;margin:15px auto 22px}.progress-circle svg{position:absolute;inset:0;transform:rotate(-90deg);width:100%;height:100%}.progress-circle circle{fill:none;stroke-width:7}.progress-circle .track{stroke:#e9ede6}.progress-circle .fill{stroke:var(--orange);stroke-linecap:round;transition:stroke-dashoffset .35s}.progress-circle strong{font-family:'Space Grotesk',sans-serif;font-size:2.3rem;letter-spacing:-.04em}.progress-circle small{display:block;text-align:center;color:var(--muted);font-size:12px}.progress-copy{text-align:center;font-size:14px;color:var(--muted);margin-bottom:22px}.save-state{font-size:12px;color:var(--muted);text-align:center;margin:13px 0 0}.rest-box{border-top:1px solid var(--border);padding-top:18px;margin-top:23px}.rest-box strong{font-family:'Space Grotesk',sans-serif;font-size:2.4rem;letter-spacing:-.04em}.rest-box .rest-controls{display:flex;gap:7px;margin-top:12px}.rest-box .button{flex:1;min-height:40px;font-size:13px;padding:10px 12px}.warning{padding:14px 17px;background:#fff5dc;border:1px solid #ead9aa;font-size:13px;border-radius:12px;margin:12px 0}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:26px}.history-stat{background:white;border:1px solid var(--border);border-radius:15px;padding:24px}.history-card{display:flex;justify-content:space-between;align-items:center;background:white;border:1px solid var(--border);border-radius:13px;padding:20px;margin-bottom:10px;gap:15px}.history-card h3{font-size:1rem;margin:0 0 6px}.history-card p{font-size:13px;color:var(--muted);margin:0}.history-card .badge{white-space:nowrap}.empty-state{text-align:center;padding:60px 25px;background:white;border:1px dashed var(--border);border-radius:20px}.empty-state .icon{width:40px;height:40px;color:var(--orange);margin-bottom:15px}.empty-state h3{margin-bottom:9px}.empty-state p{color:var(--muted);font-size:14px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.profile-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);gap:20px;font-size:14px}.profile-row strong{text-align:right;max-width:60%;font-weight:500}.profile-row:last-child{border:0}.equipment-tags{display:flex;gap:7px;flex-wrap:wrap}.equipment-tags span{padding:6px 9px;background:#f2f4ef;border-radius:6px;font-size:12px}.sources{font-size:12px;color:var(--muted);margin-top:25px}.sources a{text-decoration:underline;display:block;margin:7px 0}.detail-dialog{border:0;border-radius:23px;padding:0;max-width:650px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);background:var(--bg);box-shadow:0 30px 80px #0003}.detail-dialog::backdrop{background:#151b19aa;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;padding:26px 28px 15px;gap:15px}.dialog-head h2{font-size:1.7rem;margin:8px 0}.dialog-body{padding:0 28px 28px}.dialog-body h3{font-size:1rem;margin:23px 0 10px;letter-spacing:0}.dialog-body p,.dialog-body li{font-size:14px;color:#5b655d}.dialog-body ol{padding-left:22px;margin:0}.dialog-body li{margin:10px 0;padding-left:5px}.prescription-big{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}.prescription-big span{background:white;border:1px solid var(--border);padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600}.viewer{position:relative;background:#e9ece5;border-radius:16px;overflow:hidden;height:280px}.viewer canvas{width:100%;height:100%;display:block;touch-action:none}.viewer-tag{position:absolute;left:15px;top:13px;font-size:10px;letter-spacing:.08em;font-weight:700;color:#53604e}.viewer-controls{position:absolute;bottom:13px;left:13px;right:13px;display:flex;justify-content:space-between;gap:8px}.viewer-controls button{border:1px solid #fff8;background:#fffffff0;min-height:34px;padding:6px 11px;border-radius:8px;font-size:12px}.viewer-controls span{font-size:11px;background:#ffffffd9;border-radius:8px;display:flex;align-items:center;padding:6px 10px;color:var(--muted)}.viewer-status{position:absolute;left:0;right:0;top:43%;font-size:13px;text-align:center;color:var(--muted)}.finish-dialog{max-width:480px;text-align:center}.finish-dialog .dialog-head{justify-content:center}.finish-symbol{background:#e9f4eb;color:var(--green);border-radius:100%;width:62px;height:62px;display:grid;place-content:center;font-size:30px;margin:0 auto 20px}.feedback-options{display:flex;gap:8px;margin:22px 0}.feedback-options label{flex:1;display:block;border:1px solid var(--border);background:white;padding:15px 4px;border-radius:12px;font-size:14px;cursor:pointer}.feedback-options label:has(input:checked){background:var(--orange-soft);border-color:var(--orange)}.feedback-options input{position:absolute;opacity:0}.feedback-options label:has(input:focus-visible){outline:2px solid var(--orange)}.finish-dialog textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:13px;min-height:85px;font-size:14px;resize:vertical;margin-bottom:15px}.finish-dialog .button{margin-top:8px}.mobile-finish{display:none}.confirm-copy{font-size:14px;color:var(--muted)}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--ink);color:white;padding:13px 20px;border-radius:12px;font-size:14px;max-width:calc(100% - 30px);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.saving{opacity:.5}.success-screen{text-align:center;max-width:530px;margin:65px auto;padding:30px}.success-screen h1{font-size:3rem;line-height:1.1}.success-screen p{color:var(--muted)}.success-numbers{display:flex;gap:25px;justify-content:center;margin:30px 0}.success-numbers strong{font-family:'Space Grotesk',sans-serif;font-size:2.4rem;display:block}.success-numbers small{font-size:13px;color:var(--muted)}
.warmup-picker{margin-top:27px;animation:screen-in .2s ease}.warmup-picker h3{font-size:1.1rem;letter-spacing:-.03em}.exercise-card{display:block}.exercise-main{display:flex;align-items:center;gap:16px}.weight-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);margin-top:17px;padding-top:15px;padding-left:48px}.weight-field{display:flex;gap:14px;align-items:center}.weight-field label{font-size:13px;font-weight:600;line-height:1.4}.weight-field label small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px}.weight-input{position:relative;flex-shrink:0}.weight-input input{width:96px;height:43px;border:1px solid var(--border);border-radius:10px;background:white;font-size:16px;padding:9px 29px 9px 10px;appearance:textfield}.weight-input input::-webkit-inner-spin-button{appearance:none}.weight-input span{position:absolute;right:10px;top:12px;font-size:12px;color:var(--muted);pointer-events:none}.weight-save{display:flex;flex-direction:column;align-items:end;gap:6px}.weight-save .button{min-height:40px;font-size:12px;padding:10px 13px;background:white}.weight-save small{font-size:11px;color:var(--muted);text-align:right;max-width:170px}.history-weights{font-size:13px;margin-top:13px}.history-weights summary{cursor:pointer;font-weight:600;padding:5px 0}.history-weights>div{display:flex;gap:15px;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:7px}.history-weights strong{white-space:nowrap;color:var(--ink);font-weight:600}
@media(max-width:760px){.exercise-main{gap:12px}.weight-row{padding-left:0;gap:10px}.weight-field{gap:9px}.weight-input input{width:84px}.weight-field label{font-size:12px}.weight-save small{font-size:10px;max-width:125px}.weight-save .button{font-size:11px;padding:9px 10px}.history-card{align-items:start}.history-card>div:first-child{min-width:0}.warmup-picker h3{font-size:1rem}}
@keyframes screen-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes check-pop{50%{transform:scale(1.1)}}@keyframes breathing{to{transform:scale(1.04);opacity:.8}}
@media(min-width:1500px){.entry{padding-top:110px;gap:125px}.entry-panel{padding:50px}}
@media(max-width:1000px){.topbar{padding:0 30px}.entry{padding:65px 30px 0;gap:40px}.entry-panel{padding:30px}.entry h1{font-size:5rem}.dashboard-grid{grid-template-columns:1fr 270px}.workspace{padding:35px 25px 90px}.session-layout{grid-template-columns:1fr 265px;gap:20px}.entry-path{gap:13px;font-size:9px}.entry-footer{font-size:9px}}
@media(max-width:760px){.topbar{height:76px;padding:0 23px}.brand{font-size:1.7rem}.brand-icon{width:33px;height:33px;font-size:1.7rem;border-radius:9px}.header-note{font-size:9px;letter-spacing:.07em;max-width:150px;text-align:right}.entry{display:flex;flex-direction:column;gap:24px;min-height:calc(100dvh - 76px);padding:40px 23px 0;align-items:stretch}.entry-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:18px}.entry h1{font-size:clamp(2.6rem,12vw,3.8rem);margin-bottom:18px;line-height:1.08}.entry h1 br{display:block}.lead{font-size:1rem;margin:0}.lead br{display:none}.entry-path{display:none}.entry-panel{padding:25px;border-radius:20px}.entry-kicker{font-size:10px;margin-bottom:15px}.entry-panel h2{font-size:1.6rem}.entry-panel>p{font-size:14px;margin-bottom:23px;max-width:none}.dni-field input{height:57px}.entry-bottom{font-size:11px}.entry-footer{margin-top:auto;gap:15px;font-size:8px;padding:22px 0}.entry-footer span:last-child{text-align:right}.workspace{padding:27px 20px 95px}.workspace-top{align-items:start;margin-bottom:13px}.workspace-top h1{font-size:2.1rem}.workspace-top .nav-actions{gap:5px}.workspace-top .nav-actions .button{font-size:12px;padding:8px 10px;min-height:40px}.tabs{gap:27px;margin-bottom:23px}.dashboard-grid{display:flex;flex-direction:column;gap:14px}.plan-hero{padding:24px;margin-bottom:22px}.plan-hero h2{font-size:1.75rem}.plan-hero p{font-size:13px}.hero-days{min-width:68px}.hero-days strong{font-size:4rem}.hero-days span{font-size:11px}.day-card{grid-template-columns:46px 1fr auto;padding:19px 15px;gap:12px}.day-number{font-size:1.65rem}.day-card h3{font-size:1rem}.day-meta{font-size:12px}.day-end{font-size:12px}.day-end span{font-size:11px}.side-card{padding:22px}.dashboard-aside{display:grid;grid-template-columns:1fr;gap:0}.level-track{flex-direction:row;justify-content:space-between;gap:9px}.level-row{flex-direction:column;align-items:start;gap:10px}.level-row strong{font-size:13px}.level-row small{font-size:11px}.side-note{font-size:12px}.wizard{margin:30px auto;padding:0 22px 30px}.wizard h1{font-size:2.1rem;margin-top:35px}.wizard .intro{font-size:15px}.choice{padding:15px 13px;gap:9px;min-height:80px}.choice strong{font-size:14px}.choice small{font-size:12px}.days-grid .choice strong{font-size:13px}.choice-grid.compact .choice{padding:11px;min-height:65px}.choice-grid.compact .choice strong{font-size:13px}.wizard-actions{gap:12px}.wizard-actions .button{min-width:0;flex:1}.session-header h1{font-size:2rem}.session-header .badge{font-size:11px}.session-layout{display:flex;flex-direction:column;gap:15px;margin-top:18px}.session-list{width:100%}.session-aside{order:-1}.session-progress{padding:18px;border-radius:16px;display:grid;grid-template-columns:1fr 90px;align-items:center;gap:5px}.session-progress h3{font-size:1rem;margin:0 0 8px}.progress-circle{grid-column:2;grid-row:1/4;width:83px;height:83px;margin:0}.progress-circle strong{font-size:1.4rem}.progress-circle small{font-size:10px}.progress-copy{text-align:left;margin:0;font-size:13px}.session-progress>.button{display:none}.session-progress>.save-state{text-align:left;margin:5px 0 0;font-size:11px}.rest-box{grid-column:1/-1;padding-top:12px;margin-top:12px;display:flex;align-items:center;gap:15px;justify-content:space-between}.rest-box>.label-cap{font-size:10px}.rest-box strong{font-size:1.6rem}.rest-box .rest-controls{margin:0}.rest-box .button{font-size:11px;min-height:34px;padding:8px}.exercise-card{padding:17px 14px;gap:12px}.exercise-body strong{font-size:15px}.exercise-body small{font-size:12px}.exercise-prescription{gap:10px;font-size:12px}.check-wrap input{width:29px;height:29px;border-radius:9px}.check-wrap input:checked:after{line-height:26px;font-size:19px}.info-3d{padding:6px;font-size:10px}.info-3d .icon{width:12px;height:12px}.warm-options{margin-left:41px}.mobile-finish{display:flex;align-items:center;justify-content:space-between;position:fixed;left:0;right:0;bottom:0;background:#fffffff5;backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:13px 20px calc(13px + env(safe-area-inset-bottom));gap:12px;z-index:20}.mobile-finish small{font-size:12px;color:var(--muted)}.mobile-finish strong{font-size:14px}.mobile-finish .button{min-height:47px;padding:12px 18px;font-size:14px}.history-grid{gap:9px}.history-stat{padding:16px 11px}.stat-number{font-size:1.8rem}.history-stat small{font-size:11px}.history-card{padding:17px 15px}.profile-grid{grid-template-columns:1fr;gap:0}.dialog-head{padding:23px 22px 10px}.dialog-head h2{font-size:1.5rem}.dialog-body{padding:0 22px 22px}.detail-dialog{max-height:92dvh}.viewer{height:245px}.prescription-big{gap:7px}.prescription-big span{font-size:12px;padding:9px 11px}.section-head h3{font-size:1.2rem}.session-header{gap:10px}.success-screen{margin-top:30px}.success-screen h1{font-size:2.5rem}.finish-dialog .dialog-head h2{font-size:1.6rem}#toast{bottom:95px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Numeric controls stay readable in Safari, dark device themes and narrow screens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
#dni{appearance:none;-webkit-appearance:none}
.time-fields input{appearance:textfield;-webkit-appearance:none;min-height:60px;font-size:1.5rem;line-height:1.4;font-variant-numeric:tabular-nums;padding:12px 16px}
.time-fields input::-webkit-inner-spin-button,.time-fields input::-webkit-outer-spin-button{appearance:none;margin:0}
.time-total{color:var(--ink);font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}
.choice>span:last-child,.exercise-body,.day-card>div{min-width:0;overflow-wrap:anywhere}
.choice-figure{flex-shrink:0;font-variant-numeric:tabular-nums}
.weight-input input{width:112px;color:var(--ink);font-variant-numeric:tabular-nums}
.weight-row{flex-wrap:wrap}.weight-save{margin-left:auto}
@media(max-width:760px){
 .time-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .time-presets .pill{width:100%;font-size:1rem;padding:12px 8px}
 .entry-panel{padding:24px 20px}
 .warm-options{margin-left:0}
 .warm-options select{font-size:1rem;min-height:48px}
 .weight-field label{font-size:.875rem}.weight-field label small{font-size:.75rem}
 .weight-input input{width:112px;min-height:48px}
 .weight-save .button{font-size:.875rem;min-height:44px}.weight-save small{font-size:.75rem}
 .button,.icon-button{min-height:44px}.wizard-actions .button{overflow-wrap:anywhere}
 .workspace,.wizard{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
}
@media(max-width:360px){
 .choice-grid:not(.days-grid){grid-template-columns:minmax(0,1fr)}
 .day-card{grid-template-columns:36px minmax(0,1fr);gap:10px}.day-end{grid-column:2;align-items:flex-start}
 .viewer-controls{flex-wrap:wrap}.viewer-controls span{display:none}
 .mobile-finish{padding-left:14px;padding-right:14px}.mobile-finish .button{padding:12px;font-size:.875rem}
}

.dialog-head>.icon-button{flex:0 0 44px;width:44px;height:44px;padding:10px;min-height:44px}.dialog-head>.icon-button svg{width:22px;height:22px}.dialog-head>div{min-width:0}.dialog-head h2{overflow-wrap:anywhere}

/* A short, touch-first entry screen. */
.entry-simple{min-height:calc(100dvh - 94px);max-width:1120px;margin:auto;padding:52px 24px;display:grid;place-items:center}
.entry-simple .entry-panel{width:min(100%,500px);padding:clamp(28px,5vw,46px);box-shadow:0 24px 70px #2029230a}
.entry-simple h1{font-size:clamp(3rem,6.6vw,4.6rem);font-weight:600;line-height:1.02;letter-spacing:-.065em;margin:0 0 38px}
.entry-simple h1 em{font-style:normal;color:var(--orange)}
.entry-simple .dni-field input{padding-right:16px;background:#fff;color:var(--ink);font-size:1.4rem;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.entry-simple .field-help{margin-bottom:23px}
.entry-simple .button{min-height:56px;font-size:1rem}
@media(max-width:760px){
 .entry-simple{min-height:calc(100dvh - 76px);padding:clamp(45px,10vh,90px) 18px 30px;display:block}
 .entry-simple .entry-panel{max-width:500px;margin:0 auto;padding:30px 24px;border-radius:22px}
 .entry-simple h1{font-size:clamp(2.65rem,11vw,4.1rem);margin-bottom:34px}
 .entry-simple .dni-field input{min-height:62px;font-size:1.45rem}
}
@media(max-width:360px){.entry-simple .entry-panel{padding:27px 20px}.entry-simple h1{font-size:2.65rem}}

/* Clear, controllable exercise demonstrations and compact technical guides. */
.motion-stage{border:1px solid var(--border);border-radius:17px;overflow:hidden;background:#f4f7f4;margin:20px 0 25px;padding:0 0 15px}
.motion-stage .viewer{height:clamp(270px,41vw,380px);margin:0;border-radius:0;touch-action:none}
.viewer-angle{position:absolute;right:12px;top:12px;padding:5px 9px;border-radius:7px;background:#ffffffdc;color:var(--ink);font-size:11px;font-weight:700}
.motion-caption{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:13px 17px 7px;font-size:13px;line-height:1.35}
.motion-caption strong{font-weight:700;max-width:75%}.motion-caption span{font-size:11px;color:var(--muted);text-align:right}
.motion-seek{display:block;appearance:none;width:calc(100% - 34px);height:8px;margin:10px 17px 14px;border-radius:99px;background:#dbe1da;accent-color:var(--orange);cursor:pointer;touch-action:pan-x}
.motion-seek::-webkit-slider-thumb{appearance:none;width:22px;height:22px;border-radius:50%;background:var(--orange);box-shadow:0 1px 4px #20292338}
.motion-seek::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:var(--orange)}
.motion-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 16px}
.motion-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.motion-controls button{background:white;border:1px solid var(--border);border-radius:10px;min-height:46px;padding:9px 8px;font-size:12px;font-weight:700;line-height:1.25}
.motion-controls button:hover,.motion-controls button[aria-pressed=true]{border-color:var(--orange);background:var(--orange-soft)}
.motion-help{margin:12px 17px 0;font-size:11px}
.tech-list{margin:8px 0 22px;padding-left:24px;color:var(--ink);font-size:14px;line-height:1.55}
.tech-list li{padding-left:4px;margin:8px 0}.tech-list li::marker{color:var(--orange);font-weight:700}
.tech-note{padding:15px 17px;background:#fff1e9;border-left:3px solid var(--orange);border-radius:8px;margin:10px 0 15px;font-size:13px}
.tech-note strong{display:block;margin-bottom:5px}.tech-note p{margin:0}
.breath-tip{font-size:13px;color:var(--muted);margin-bottom:20px}
.tech-reference{display:inline-flex;margin:20px 0 5px;color:var(--orange);font-size:12px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .motion-stage .viewer{height:clamp(260px,48vh,370px)}
 .motion-caption{padding:12px 12px 6px}.motion-caption strong{max-width:72%}
 .motion-controls{margin:0 11px;gap:6px}.motion-controls button{font-size:11px;min-height:48px;padding:8px 4px}
 .motion-seek{width:calc(100% - 24px);margin-left:12px;margin-right:12px}
 .motion-help{margin-left:12px}
}
@media(max-width:360px){.motion-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-controls button:first-child{grid-column:1/-1}}
.motion-controls button{font-size:14px}
.motion-caption{min-height:63px;align-items:center}.motion-caption strong{font-size:14px;line-height:1.4}
.motion-caption span{font-size:12px;max-width:42%;line-height:1.4}
.isometric-note{margin:4px 16px 10px;padding:9px 11px;border-radius:8px;background:white;color:var(--muted);font-size:12px;line-height:1.5}
.motion-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--orange);color:white;border:0;border-radius:12px;padding:13px 22px;min-height:48px}
.motion-retry[hidden]{display:none}
.motion-controls[hidden],.motion-seek[hidden]{display:none}
@media(max-width:760px){.motion-stage .viewer{height:clamp(320px,52vh,410px)}.motion-controls button{font-size:13px}.viewer-tag{font-size:10px}.viewer-angle{font-size:10px}.motion-controls button:first-child{grid-column:auto}}

/* The percentage and its label keep a clear inner margin at every width. */
.progress-circle{width:156px;height:156px;flex-shrink:0}
.progress-circle>div{position:absolute;inset:23%;width:auto;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.progress-circle strong{font-size:2rem;line-height:1.1;letter-spacing:-.045em}
.progress-circle small{font-size:12px;line-height:1.25;white-space:nowrap;letter-spacing:0}
.rest-controls{flex-shrink:0}.rest-controls .button{white-space:nowrap}
@media(max-width:760px){
 .session-progress{grid-template-columns:minmax(0,1fr) 116px;column-gap:20px;row-gap:9px;padding:23px 20px}
 .session-progress h3{font-size:1rem;margin:0;line-height:1.35}
 .session-progress .progress-circle{width:116px;height:116px;align-self:center;justify-self:end;grid-row:1/4}
 .session-progress .progress-circle>div{inset:21%;gap:4px}
 .session-progress .progress-circle strong{font-size:1.65rem;line-height:1.15}
 .session-progress .progress-circle small{font-size:11px;line-height:1.2}
 .session-progress .progress-copy{font-size:13px;line-height:1.5;padding-right:0;overflow-wrap:normal}
 .session-progress>.save-state{font-size:12px;line-height:1.5;margin:0}
 .session-progress .rest-box{gap:10px;margin-top:14px;padding-top:20px}
 .rest-controls .button{min-width:50px;padding:10px;min-height:44px}
}
@media(max-width:375px){
 .session-progress{grid-template-columns:minmax(0,1fr) 108px;column-gap:13px;padding:21px 17px}
 .session-progress .progress-circle{width:108px;height:108px}
 .session-progress .progress-circle small{font-size:10px}
 .session-progress .rest-box>.label-cap{font-size:10px;letter-spacing:.08em}
}

/* New anatomical exercise studio. Controls stay below the canvas on phones. */
.motion-stage{background:#fff;border-color:#dbe3e7;border-radius:20px;box-shadow:0 8px 28px #1e374808}
.motion-stage .viewer{background:#e9eef0;height:clamp(360px,50vh,460px)}
.viewer-tag,.viewer-angle{background:#ffffffbf;border:1px solid #ffffffde;padding:7px 9px;border-radius:8px;color:#405565;backdrop-filter:blur(8px);font-size:10px;letter-spacing:.035em}
.viewer-tag{left:12px;top:12px}.viewer-angle{right:12px;top:12px}
.motion-caption{display:block;padding:16px 16px 8px;min-height:80px}.motion-caption strong{max-width:none;display:block;color:#193446;font-size:15px}.motion-caption span{max-width:none;display:block;margin-top:5px;font-size:12px;color:#6c7e89}
.motion-controls{grid-template-columns:1fr 1fr;gap:8px}.motion-controls button{color:#263e50;border-color:#dce4e9}.motion-controls button:first-child{background:#203b4f;color:white;border-color:#203b4f}.motion-controls button:disabled{opacity:.45;cursor:wait}
.motion-stage.is-loading .viewer:after{content:'Cargando modelo 3D…';position:absolute;inset:0;display:grid;place-content:center;background:#e9eef0cc;color:#203b4f;font-size:14px}
.motion-help{font-size:12px}.isometric-note{background:#f1f5f7;color:#5a6d7a}
@media(max-width:760px){.dialog-head{padding:20px 18px 12px}.dialog-body{padding:0 14px 22px}.detail-dialog{width:calc(100% - 16px);max-height:94dvh}.motion-stage .viewer{height:clamp(340px,50vh,420px)}.motion-caption{padding:13px 12px 8px}.motion-caption strong,.motion-caption span{max-width:none}.viewer-angle{font-size:9px}.viewer-tag{font-size:9px}.motion-controls button{min-height:48px;font-size:13px}}

/* Focused routine and compact load entry. */
.routine-simple{max-width:900px;margin:auto}.core-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;font-size:14px}.core-heading span{color:var(--muted);font-size:13px}
.weight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;padding-left:48px;gap:10px;align-items:center}.weight-field{min-width:0;gap:10px}.weight-field label{font-size:14px;white-space:nowrap}.weight-field label small{font-size:12px}.weight-input input{width:84px;min-height:44px;height:44px;font-size:16px}.weight-save{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0}.weight-save .button{font-size:14px;min-height:44px;padding:9px 12px;white-space:nowrap}.weight-save small{font-size:12px;white-space:nowrap;max-width:none}
@media(max-width:760px){.weight-row{padding-left:0;grid-template-columns:1fr;gap:9px}.weight-field{justify-content:space-between}.weight-field label small{display:inline;margin-left:7px}.weight-save{justify-content:space-between}.exercise-prescription{flex-wrap:wrap;font-size:13px}.exercise-body small{font-size:13px}.exercise-body strong{font-size:15px}.core-heading{align-items:start;flex-direction:column;gap:5px}.session-header h1{font-size:1.8rem}.profile-grid .level-track{flex-direction:column}.profile-grid .level-row{flex-direction:row;align-items:center}}

@media(max-width:360px){.weight-field label small{display:block;margin-left:0}.weight-save small{font-size:12px}.weight-save .button{padding:9px 10px}}

.preferences-editor{max-width:760px;margin:auto;padding:28px 24px 60px}.preferences-editor h1{font-size:32px;margin:20px 0 30px}.preferences-section{padding:26px 0;border-top:1px solid var(--line,#dce3e6)}.preferences-section h2{font-size:22px;margin:0 0 8px}.preferences-section>p{margin:0 0 20px}.preferences-section .note-card{display:none}.preferences-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.level-select{margin-top:24px}.preferences-editor .choice-grid{gap:10px}.preferences-editor .choice{min-height:70px}@media(max-width:480px){.preferences-editor{padding:18px 16px 36px}.preferences-actions{display:grid;grid-template-columns:1fr 1fr}.preferences-actions .button{padding:12px 8px}}
