*{box-sizing:border-box}:root{--bg:#0b0a0a;--text:#f4f0e8;--muted:#9a9087;--line:#2e2e28;--accent:#c8804a;--surface:#161614}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:DM Sans,sans-serif}.screen{background:var(--bg);width:100%;max-width:390px;min-height:100vh;margin:0 auto;padding:46px 20px 28px}.home{flex-direction:column;display:flex}.day-tabs{gap:10px;margin-bottom:28px;display:flex}.day-tabs button{border:1px solid var(--line);color:#5f5952;letter-spacing:2px;background:0 0;border-radius:999px;min-width:86px;padding:12px 20px;font-family:Bebas Neue,sans-serif;font-size:18px}.day-tabs button.active{border-color:var(--accent);color:var(--text)}.today-focus{margin-top:6px}.section-kicker{color:var(--muted);letter-spacing:1px;margin:0 0 10px;font-size:14px}.home-stack{letter-spacing:1px;color:var(--text);margin:0 0 16px;font-family:Bebas Neue,sans-serif;font-size:40px;line-height:1}.home-exercise-name{margin-bottom:8px}.duration{color:var(--muted);margin:0 0 20px;font-size:16px}.labora-button{border:1px solid var(--accent);letter-spacing:6px;border-radius:12px;width:100%;min-height:64px;font-family:Bebas Neue,sans-serif;font-size:24px}.labora-button.solid{background:var(--accent);color:#090706}.labora-button.outline{color:var(--accent);background:0 0}.bottom-nav{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-columns:1fr 1fr;margin-top:20px;display:grid;overflow:hidden}.bottom-nav button{min-height:54px;color:var(--muted);letter-spacing:3px;background:0 0;border:0;font-size:11px}.bottom-nav button+button{border-left:1px solid var(--line)}.trained{text-align:center;color:var(--accent);letter-spacing:1px;margin-top:12px;font-size:11px}.why-link{color:var(--muted);letter-spacing:4px;background:0 0;border:0;margin:14px auto 0;font-size:11px}.home-exercise-name{grid-template-columns:38px 1fr;align-items:center;column-gap:6px;min-height:44px;margin-bottom:4px;display:grid}.exercise-icon{width:38px;color:var(--accent);justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:38px;line-height:1;display:inline-flex}.icon-push{transform:translateY(-1px)}.icon-squat{transform:translateY(1px)}.icon-legraise{font-size:36px;transform:translateY(0)}.training{padding-top:20px;padding-bottom:36px}.training-top h1{letter-spacing:2px;margin:0 0 34px;font-family:Bebas Neue,sans-serif;font-size:48px}.section-label{color:var(--muted);letter-spacing:4px;margin-bottom:14px;font-size:12px}.warmup{margin-bottom:34px}.warmup-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px}.warmup-card p{color:var(--text);margin:0 0 16px;font-size:15px;line-height:1.4}.training-list{flex-direction:column;gap:42px;display:flex}.exercise-block{border-top:1px solid var(--line);padding-top:32px}.exercise-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.exercise-head h2{letter-spacing:1px;margin:0;font-family:Bebas Neue,sans-serif;font-size:42px}.exercise-head span{color:var(--accent);opacity:.8;letter-spacing:3px;white-space:nowrap;font-size:12px}.exercise-card{border:1px solid var(--line);background:#090909;border-radius:18px;overflow:hidden}.exercise-image{object-fit:contain;background:#090909;width:100%;min-height:260px;max-height:200px;display:block}.sets{padding:18px 18px 4px}.set-row{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.set-row>span{color:var(--text);letter-spacing:.5px;font-size:14px}.rep-control{align-items:center;gap:12px;display:flex}.rep-control button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:#111;border-radius:50%;font-size:18px}.rep-control strong{text-align:center;letter-spacing:1px;min-width:54px;font-family:Bebas Neue,sans-serif;font-size:26px}.checkbox-line{color:var(--muted);letter-spacing:1px;align-items:center;gap:10px;font-size:14px;display:flex}.exercise-card .checkbox-line{padding:4px 18px 18px}.checkbox-line input{width:18px;height:18px;accent-color:var(--accent)}.training>.labora-button{margin-top:34px}.training-note{text-align:center;color:var(--muted);margin:18px 0 0;font-size:13px;line-height:1.4}.labora-button.disabled{opacity:.35;pointer-events:none}.exercise-title-row{align-items:center;gap:12px;display:flex}.exercise-title-icon{width:34px;color:var(--accent);justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:30px;line-height:1;display:inline-flex}.done-toggle{border:1px solid var(--line);width:calc(100% - 36px);min-height:42px;color:var(--muted);letter-spacing:4px;background:#11100f;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin:8px 18px 18px;font-family:Bebas Neue,sans-serif;font-size:18px;display:flex}.done-toggle span{border:1px solid var(--muted);width:18px;height:18px;color:var(--accent);border-radius:3px;justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:13px;display:inline-flex}.done-toggle.checked{border-color:var(--accent);color:var(--accent);background:#c8804a14}.done-toggle.checked span{border-color:var(--accent)}.training{padding-bottom:126px}.training>.labora-button{background:var(--accent);color:#090706;margin-top:34px}.warmup-toggle{width:100%;margin:0}.exercise-head{margin-bottom:18px}.exercise-head h2{margin:0;font-family:Bebas Neue,sans-serif;font-size:56px;line-height:1}.exercise-variation{color:var(--text);opacity:.9;letter-spacing:1px;margin-top:4px;font-size:15px}.exercise-meta{color:var(--accent);letter-spacing:2.5px;margin-top:2px;font-size:13px}.exercise-head{margin-bottom:12px;display:block}.exercise-head h2{letter-spacing:1px;margin:0 0 2px;font-family:Bebas Neue,sans-serif;font-size:52px;line-height:.95}.exercise-variation{color:var(--text);opacity:.9;letter-spacing:1px;text-transform:uppercase;margin-top:0;font-size:15px;line-height:1.2}.exercise-meta{color:var(--accent);letter-spacing:2.5px;text-transform:uppercase;margin-top:2px;font-size:12px;line-height:1.2}.exercise-card{background:#090909}.exercise-image{object-fit:contain;background:#090909;width:100%;height:auto;min-height:0;max-height:260px;display:block}.sets{background:0 0;padding:10px 18px 4px}.set-row>span{letter-spacing:.5px;font-size:15px}.progress-card{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);text-align:left;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.progress-card h2{letter-spacing:1px;color:var(--text);margin:0 0 4px;font-family:Bebas Neue,sans-serif;font-size:32px}.progress-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.25}.progress-card>span{color:var(--accent);letter-spacing:2px;text-align:right;white-space:nowrap;font-size:11px}.back-button{color:var(--muted);background:0 0;border:0;padding:0;font-size:28px;line-height:1}.simple-top{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.simple-top h1{letter-spacing:1px;margin:0;font-family:Bebas Neue,sans-serif;font-size:46px;line-height:1}.back-button{color:var(--accent);letter-spacing:3px;background:0 0;border:0;padding:0;font-size:11px}.progress-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.progress-tile{border:1px solid var(--line);background:var(--surface);min-height:145px;color:var(--text);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:18px 10px;display:flex}.tile-icon{color:var(--accent);margin-bottom:10px;font-family:DM Sans,sans-serif;font-size:42px;line-height:1}.tile-name{letter-spacing:1px;text-align:center;font-family:Bebas Neue,sans-serif;font-size:28px;line-height:1}.tile-step{color:var(--muted);letter-spacing:2.5px;margin-top:8px;font-size:12px}.evolution-overlay{z-index:50;background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.evolution-panel{border:1px solid var(--line);background:#0b0a0a;border-radius:24px 24px 0 0;width:100%;max-width:390px;max-height:88vh;padding:28px 20px 24px;overflow:auto}.panel-close{float:right;color:var(--muted);background:0 0;border:0;font-size:26px}.panel-icon{color:var(--accent);margin-bottom:12px;font-size:52px;line-height:1}.evolution-panel h2{letter-spacing:1px;margin:0;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1}.panel-variation{color:var(--muted);margin:6px 0 24px;font-size:14px}.panel-section-label{color:var(--accent);letter-spacing:3px;margin:22px 0 10px;font-size:11px}.step-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.step-grid button,.phase-list button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);letter-spacing:2px;border-radius:12px;font-family:Bebas Neue,sans-serif;font-size:20px}.step-grid button.active,.phase-list button.active{border-color:var(--accent);color:var(--accent);background:#c8804a14}.phase-list{flex-direction:column;gap:8px;display:flex}.save-evolution{border:1px solid var(--accent);background:var(--accent);color:#090706;letter-spacing:5px;border-radius:12px;width:100%;min-height:58px;margin-top:24px;font-family:Bebas Neue,sans-serif;font-size:22px}.panel-icon{display:none}.panel-close{float:right;color:var(--accent);letter-spacing:3px;background:0 0;border:0;padding:0;font-size:11px}.evolution-panel h2{margin:0}.panel-variation{margin:2px 0 24px}.panel-current{color:var(--accent);letter-spacing:2.5px;margin:10px 0 0;font-size:12px}.mastery-status{border:1px solid var(--line);color:var(--text);background:var(--surface);letter-spacing:2px;text-align:center;border-radius:12px;margin-top:14px;padding:12px;font-size:12px}.advance-step{border:1px solid var(--accent);background:var(--accent);color:#090706;letter-spacing:4px;border-radius:12px;width:100%;min-height:54px;margin-top:16px;font-family:Bebas Neue,sans-serif;font-size:20px}.tile-ready{color:var(--accent);letter-spacing:2px;margin-top:6px;font-size:10px}.finish{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.finish-mark{border:1px solid var(--accent);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:28px;font-size:30px;display:flex}.finish h1{letter-spacing:1px;margin:0;font-family:Bebas Neue,sans-serif;font-size:56px;line-height:.95}.finish-subtitle{color:var(--muted);margin:16px 0 28px;font-size:15px;line-height:1.45}.finish-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:22px;padding:18px}.finish-card span{color:var(--accent);letter-spacing:3px;margin-bottom:14px;font-size:11px;display:block}.finish-card strong{letter-spacing:1px;font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1;display:block}.finish-count{color:var(--accent);letter-spacing:3px;text-align:center;margin-bottom:22px;font-size:12px}.sets-note{color:var(--muted);text-align:center;opacity:.85;margin:0 0 14px;font-size:12px;line-height:1.35}.rep-control button:disabled{opacity:.28;cursor:default}.evolution-screen{background:#0b0a0a;position:relative;overflow:hidden}.evolution-bg{opacity:1;z-index:0;background-position:bottom;background-size:cover;position:absolute;inset:0}.evolution-bg-overlay{z-index:1;background:linear-gradient(#0b0a0aeb,#0b0a0ac2,#0b0a0aeb);position:absolute;inset:0}.evolution-content{z-index:2;position:relative}.evolution-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.evolution-grid .progress-tile{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161614d1;min-height:126px;padding:14px 6px}.evolution-grid .tile-icon{margin-bottom:8px;font-size:34px}.evolution-grid .tile-name{font-size:22px}.evolution-grid .tile-step{letter-spacing:2px;font-size:10px}.current-step-number{color:var(--text);margin:4px 0 18px;font-family:Bebas Neue,sans-serif;font-size:42px;line-height:1}.step-grid button.completed{color:#c8804abf;background:#c8804a0a;border-color:#c8804a8c}.step-grid button.active{border-color:var(--accent);color:#090706;background:var(--accent)}.step-grid button.future{border-color:var(--line);color:var(--muted);background:var(--surface)}.phase-state{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--accent);letter-spacing:3px;border-radius:12px;justify-content:center;align-items:center;font-family:Bebas Neue,sans-serif;font-size:22px;display:flex}.confirm-overlay{z-index:80;background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-panel{border:1px solid var(--line);background:#0b0a0a;border-radius:20px;width:100%;max-width:340px;padding:24px 20px}.confirm-panel h3{letter-spacing:1px;margin:0 0 12px;font-family:Bebas Neue,sans-serif;font-size:32px}.confirm-panel p{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.4}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.confirm-actions button{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--muted);letter-spacing:3px;border-radius:12px;font-family:Bebas Neue,sans-serif;font-size:18px}.confirm-actions .confirm-main{border-color:var(--accent);background:var(--accent);color:#090706}.evolution-panel .panel-variation{color:var(--text);opacity:.9;margin-top:6px;margin-bottom:18px;font-size:16px}.evolution-panel .current-step-number{color:var(--text);margin:2px 0 12px;font-family:Bebas Neue,sans-serif;font-size:42px;line-height:1}.evolution-panel .panel-section-label{margin:14px 0 10px}.evolution-panel .step-grid{margin-bottom:16px}.evolution-panel .phase-state{margin-top:14px}.breath .subtitle{margin-bottom:28px;font-size:15px;line-height:1.45}.breath-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-bottom:22px;padding:18px}.breath-options{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.breath-options button{border:1px solid var(--line);width:100%;min-height:46px;color:var(--text);text-align:left;background:#11100f;border-radius:12px;padding:0 14px}.breath-options button strong{letter-spacing:2.5px;font-family:Bebas Neue,sans-serif;font-size:20px}.breath-options button.active{border-color:var(--accent);color:var(--accent);background:#c8804a14}.march-description{color:var(--text);margin:0 0 20px;font-size:14px;line-height:1.45}.time-inputs{border:1px solid var(--line);background:#11100f;border-radius:14px;margin-bottom:18px;padding:14px}.time-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.time-row input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);text-align:center;letter-spacing:2px;background:#0b0a0a;border-radius:10px;font-family:Bebas Neue,sans-serif;font-size:22px}.time-row span{color:var(--accent);font-size:22px}.time-note{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.35}.log-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:18px}.log-card>div:not(.section-label){border-top:1px solid #ffffff0f;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.log-card span{color:var(--text);font-size:14px}.log-card strong{color:var(--muted);font-size:14px;font-weight:400}.manifesto-ending h2{color:var(--text);margin-bottom:28px;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1}.manifesto-closing{color:var(--accent);margin-bottom:18px;font-size:18px;line-height:1.5}.subtle-back{border:1px solid var(--line);width:100%;min-height:52px;color:var(--muted);letter-spacing:3px;background:0 0;border-radius:12px;margin-top:56px;margin-bottom:32px;font-family:Bebas Neue,sans-serif;font-size:18px}.manifesto-block p{font-size:16px;font-weight:200;line-height:1.35}.manifesto-ending{margin-top:48px}.subtle-back{margin-top:56px}.mastery-message{margin-top:18px}.mastery-message p{color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.45}.mastery-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.mastery-primary,.mastery-secondary{letter-spacing:3px;border-radius:12px;min-height:48px;font-family:Bebas Neue,sans-serif;font-size:18px}.mastery-primary{border:1px solid var(--accent);background:var(--accent);color:#090706}.mastery-secondary{border:1px solid var(--line);width:100%;color:var(--muted);background:0 0;margin-top:18px}.mastery-actions .mastery-secondary{margin-top:0}.finish-results{margin-bottom:22px}.finish-result-list{flex-direction:column;gap:4px;display:flex}.finish-result-line{align-items:center;gap:6px;display:flex}.finish-result-line span{width:14px;color:var(--muted);font-size:20px;line-height:1;position:relative;top:3px}.finish-result-line.reached span{color:#7fae72}.finish-result-line strong{letter-spacing:1px;color:var(--text);margin:0;font-family:Bebas Neue,sans-serif;font-size:26px;line-height:1}.injury-button{border:1px solid var(--line);width:100%;min-height:48px;color:var(--muted);letter-spacing:3px;background:0 0;border-radius:12px;margin-top:18px;font-family:Bebas Neue,sans-serif;font-size:18px}.injury-button.active{border-color:var(--accent);color:var(--accent);background:#c8804a14}.finish-result-line.injured span{color:var(--muted)}.injury-link{color:#ffffff4d;opacity:.65;letter-spacing:1px;text-align:right;background:0 0;border:0;width:auto;margin:4px 18px 16px auto;font-family:DM Sans,sans-serif;font-size:9px;display:block}.injury-link:active{color:var(--accent);opacity:1}.injured-card{background:var(--surface);padding:18px}.injured-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.error-screen{text-align:center;flex-direction:column;justify-content:center;gap:24px;display:flex}.error-screen h1{letter-spacing:3px;color:var(--accent);font-family:Bebas Neue,sans-serif;font-weight:400}.error-screen p{color:var(--muted)}.rep-control button.rep-value{width:auto;min-width:64px;height:auto;color:var(--text);letter-spacing:1px;text-align:center;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;font-family:Bebas Neue,sans-serif;font-size:26px}.rep-control button.rep-value.empty{color:var(--muted)}.rep-control button.rep-value.reached{color:var(--accent)}.timer-row{flex-wrap:wrap;gap:8px}.timer-control{align-items:center;gap:8px;display:flex}.timer-control button{border:1px solid var(--line);min-width:36px;height:28px;color:var(--muted);background:#111;border-radius:14px;padding:0 8px;font-size:12px}.timer-control button:disabled{opacity:.4}.timer-value{text-align:center;letter-spacing:1px;min-width:96px;font-family:Bebas Neue,sans-serif;font-size:22px}.timer-value.reached{color:var(--accent)}.timer-control .timer-toggle{border-color:var(--accent);color:var(--accent);letter-spacing:1px}.timer-control .timer-toggle.running{background:var(--accent);color:#090706}.done-toggle:disabled{opacity:.4}.evolution-panel .phase-list{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.evolution-panel .phase-list button{letter-spacing:1px;font-size:16px}.update-toast{border:1px solid var(--accent);background:var(--surface);width:calc(100% - 40px);max-width:350px;color:var(--text);z-index:50;border-radius:12px;padding:14px 16px;font-size:14px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.install-hint{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:24px;padding:16px}.install-hint strong{letter-spacing:2px;color:var(--accent);font-family:Bebas Neue,sans-serif;font-size:18px;font-weight:400;display:block}.install-hint p{color:var(--muted);margin:8px 0 12px;font-size:14px;line-height:1.4}.install-hint button{color:var(--text);letter-spacing:2px;background:0 0;border:none;padding:0;font-size:12px}.screen{padding-top:max(46px, calc(env(safe-area-inset-top) + 16px));padding-bottom:max(28px, calc(env(safe-area-inset-bottom) + 12px))}.training.screen{padding-top:max(20px, calc(env(safe-area-inset-top) + 8px));padding-bottom:calc(126px + env(safe-area-inset-bottom))}.training .simple-top{margin-bottom:20px}.training .warmup{margin-bottom:24px}.warmup-row{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.warmup-row .section-label{margin-bottom:4px;display:block}.warmup-text{font-size:14px;line-height:1.35;display:block}.warmup-box{border:1px solid var(--line);height:28px;color:var(--accent);border-radius:8px;flex:0 0 28px;place-items:center;font-size:16px;display:grid}.warmup-row.checked{border-color:var(--accent)}.warmup-row.checked .warmup-box{border-color:var(--accent);background:#c8804a14}.evolution-panel{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.update-toast{bottom:calc(20px + env(safe-area-inset-bottom))}.finish-result-line span{text-align:center;flex:0 0 24px;width:24px}.sets-note.fill-hint{color:var(--accent)}.time-row input::placeholder{color:var(--muted);opacity:.45}.march-feedback{color:var(--accent);text-align:center;margin:12px 0 0;font-size:13px}.march-feedback.error{color:#d9776b}
