:root{color-scheme:dark;--bg:#0c0f0c;--panel:#151a15;--panel-2:#1b211b;--line:rgba(225,240,220,.09);--text:#f2f5ef;--muted:#929c90;--lime:#c3f45b;--lime-dark:#8fbd2d;--mint:#9ee3bd;--danger:#ff7777;--radius:22px;--shadow:0 18px 50px rgba(0,0,0,.26)}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 15% -10%,rgba(132,177,67,.12),transparent 35%),var(--bg);color:var(--text);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif;padding-bottom:calc(94px + env(safe-area-inset-bottom));overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.12;z-index:0;border-radius:50%}.ambient-one{width:250px;height:250px;background:#8dcf3c;top:36%;left:-180px}.ambient-two{width:220px;height:220px;background:#49a88b;top:70%;right:-170px}
.app-shell{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 20px}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.brand-symbol{width:42px;height:42px;border-radius:13px;background:var(--lime);color:#11170a;display:flex;align-items:center;justify-content:center;gap:1px;font:800 19px 'Space Grotesk',sans-serif;letter-spacing:-2px;box-shadow:0 7px 22px rgba(195,244,91,.16)}
.brand-symbol span{color:#42591c}
.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font:700 14px 'Space Grotesk',sans-serif;letter-spacing:1.3px}.brand-copy strong span{color:var(--lime)}.brand-copy small{font-size:8px;letter-spacing:1.25px;color:var(--muted);font-weight:700}
.top-actions{display:flex;align-items:center;gap:10px}.offline-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:30px;padding:7px 10px;color:#b6c2b2;font-size:9px;letter-spacing:1px;font-weight:800}.offline-pill i{width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 10px var(--lime)}
.icon-button{width:39px;height:39px;border:1px solid var(--line);border-radius:13px;background:var(--panel);display:grid;place-items:center}.icon-button svg{width:18px;height:18px;fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.install-button{display:grid}.install-button.visible{display:grid}
.welcome-row{display:flex;align-items:center;justify-content:space-between;padding:27px 1px 20px;gap:14px}.eyebrow{margin:0 0 8px;color:var(--lime);font-size:9px;font-weight:800;letter-spacing:1.65px}.welcome-row h1{margin:0;font:700 clamp(29px,7vw,38px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-1.6px}.welcome-row h1 em{font-style:normal;color:var(--lime)}.welcome-sub{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5;max-width:300px}
.streak-chip{flex:0 0 66px;height:70px;border:1px solid rgba(195,244,91,.2);background:linear-gradient(145deg,rgba(195,244,91,.1),rgba(195,244,91,.02));border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative}.streak-chip strong{font:700 20px 'Space Grotesk',sans-serif;line-height:1.1}.streak-chip strong span{color:var(--lime)}.streak-chip small{font-size:7px;letter-spacing:1.1px;color:var(--muted);font-weight:800;margin-top:4px}.streak-icon{position:absolute;right:8px;top:6px;color:var(--lime);font-size:10px}
.hero-card{min-height:218px;position:relative;overflow:hidden;border-radius:25px;background:linear-gradient(115deg,#1c2817 0%,#172118 53%,#172a21 100%);border:1px solid rgba(195,244,91,.18);box-shadow:var(--shadow);padding:22px 22px 20px}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(214,247,173,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(214,247,173,.045) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(90deg,black,transparent 90%);opacity:.6}
.hero-content{position:relative;z-index:2;max-width:76%}.hero-topline{display:flex;align-items:center;gap:7px;color:#c4d1bd;font-size:8px;font-weight:800;letter-spacing:1.35px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.hero-tag{margin-left:5px;border:1px solid rgba(195,244,91,.25);color:var(--lime);padding:4px 7px;border-radius:20px;font-size:7px}.hero-kicker{margin:20px 0 6px;color:var(--lime);font-size:9px;letter-spacing:1.2px;font-weight:800}.hero-card h2{margin:0;font:700 clamp(23px,5.7vw,30px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.9px}.hero-description{font-size:11px;color:#aebca8;margin:8px 0 17px}.hero-meta{display:flex;align-items:center;gap:13px}.hero-meta span:not(.meta-divider){display:flex;flex-direction:column;gap:2px}.hero-meta b{font:700 14px 'Space Grotesk',sans-serif;color:#f1f7ed}.hero-meta small{font-size:7px;letter-spacing:1px;color:#9eae98;font-weight:800}.meta-divider{height:22px;width:1px;background:rgba(225,240,220,.18)}
.hero-orbit{position:absolute;border:1px solid rgba(195,244,91,.13);border-radius:50%;right:-68px;top:15px;width:250px;height:250px}.orbit-b{right:-32px;top:52px;width:178px;height:178px;border-color:rgba(195,244,91,.19)}.hero-watermark{position:absolute;right:19px;bottom:-33px;font:700 150px/.9 'Space Grotesk',sans-serif;letter-spacing:-15px;color:rgba(195,244,91,.075);transform:rotate(-10deg)}
.week-section{padding-top:27px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.section-heading .eyebrow{margin-bottom:5px}.section-heading h2{margin:0;font:700 20px 'Space Grotesk',sans-serif;letter-spacing:-.5px}.week-caption{font-size:8px;color:var(--muted);letter-spacing:1.1px;font-weight:800;padding-bottom:3px}
.day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.day-button{min-width:0;border:1px solid var(--line);border-radius:15px;background:rgba(21,26,21,.9);padding:10px 2px 9px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:background .18s,border-color .18s,transform .18s}.day-button:active{transform:scale(.96)}.day-button .day-name{font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.8px}.day-button .day-date{font:700 16px 'Space Grotesk',sans-serif}.day-button .day-mark{width:4px;height:4px;border-radius:50%;background:transparent}.day-button.has-workout .day-mark{background:#66765a}.day-button.done .day-mark{background:var(--lime);box-shadow:0 0 8px rgba(195,244,91,.7)}.day-button.selected{background:var(--lime);border-color:var(--lime);color:#17200d;box-shadow:0 7px 22px rgba(195,244,91,.13)}.day-button.selected .day-name{color:#3e5421}.day-button.selected .day-mark{background:#38501a}
.view-section{padding:27px 0 20px}.workout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:15px}.workout-heading .eyebrow{margin-bottom:5px}.workout-heading h2{font:700 23px 'Space Grotesk',sans-serif;margin:0;letter-spacing:-.8px}.workout-focus{color:var(--muted);font-size:11px;margin-top:5px}.duration-chip{white-space:nowrap;border:1px solid var(--line);background:var(--panel);padding:8px 10px;border-radius:11px;color:#c4d0c0;font-size:9px;font-weight:800}
.progress-panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:14px 15px;margin-bottom:14px}.progress-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.progress-top strong{font:700 12px 'Space Grotesk',sans-serif}.progress-count{color:var(--lime);font:700 12px 'Space Grotesk',sans-serif}.progress-track{height:6px;border-radius:20px;background:#2a3329;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#91c938,var(--lime));border-radius:20px;transition:width .35s ease}.progress-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:8px}
.warmup-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid rgba(158,227,189,.13);background:rgba(65,120,88,.08);border-radius:14px;margin-bottom:16px;color:#b4c9b6;font-size:10px;line-height:1.5}.warmup-icon{color:var(--mint);font-size:15px;line-height:1.2}
.exercise-list{display:flex;flex-direction:column;gap:11px}.exercise-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:13px;padding:10px;border-radius:18px;background:linear-gradient(145deg,#181e18,#141914);border:1px solid var(--line);position:relative;overflow:hidden;transition:border-color .2s,opacity .2s}.exercise-card.completed{border-color:rgba(195,244,91,.34);background:linear-gradient(145deg,rgba(43,57,31,.8),#151a14)}.exercise-art{width:112px;min-height:137px;border-radius:12px;overflow:hidden;background:#202a20;position:relative;display:flex;align-items:center;justify-content:center}.exercise-art svg{display:block;width:100%;height:100%;min-height:137px}.exercise-content{min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:2px 1px 1px 0}.exercise-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.exercise-number{font-size:8px;letter-spacing:1px;font-weight:800;color:var(--lime)}.exercise-status{font-size:8px;color:var(--lime);font-weight:800;letter-spacing:.7px}.exercise-card.completed .exercise-status:before{content:'✓ ';}.exercise-name{font:700 14px/1.2 'Space Grotesk',sans-serif;margin:6px 0 4px;letter-spacing:-.25px}.exercise-muscles{font-size:9px;color:var(--muted);line-height:1.3}.exercise-metrics{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.metric{font-size:8px;font-weight:800;color:#d9e3d4;background:#252e24;border:1px solid rgba(225,240,220,.05);border-radius:6px;padding:5px 6px}.metric b{color:var(--lime);font-weight:800}.exercise-tip{font-size:9px;line-height:1.4;color:#aab5a5;margin:8px 0 0}.exercise-actions{display:flex;align-items:center;gap:7px;margin-top:10px}.complete-button{border:1px solid rgba(195,244,91,.28);background:rgba(195,244,91,.09);color:var(--lime);border-radius:9px;padding:8px 9px;font-size:9px;font-weight:800;flex:1}.completed .complete-button{background:var(--lime);color:#1a240e;border-color:var(--lime)}.rest-button{width:34px;height:31px;border:1px solid var(--line);border-radius:9px;background:#202720;color:#cbd6c5;display:grid;place-items:center;font-size:14px}.rest-button svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
.done-banner{display:flex;align-items:center;gap:11px;padding:14px 15px;background:rgba(195,244,91,.1);border:1px solid rgba(195,244,91,.25);border-radius:15px;margin-top:14px}.done-banner strong{display:block;font:700 12px 'Space Grotesk',sans-serif}.done-banner span{display:block;font-size:10px;color:#b6c7a7;margin-top:3px}.done-check{width:34px;height:34px;border-radius:50%;background:var(--lime);color:#1b260d;display:grid;place-items:center;font-weight:900}
.reset-row{display:flex;justify-content:flex-end;margin-top:13px}.text-button{background:transparent;border:0;color:var(--muted);font-size:9px;text-decoration:underline;text-underline-offset:3px;padding:6px}
.rest-day-card{border:1px solid var(--line);background:linear-gradient(140deg,#19231b,#141a16);border-radius:22px;padding:22px;position:relative;overflow:hidden}.rest-day-card .rest-symbol{font-size:30px;color:var(--lime)}.rest-day-card h2{font:700 24px 'Space Grotesk',sans-serif;margin:12px 0 7px}.rest-day-card p{color:#b1bdb0;font-size:12px;line-height:1.6;margin:0}.rest-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.suggestion{padding:12px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid var(--line)}.suggestion strong{display:block;font-size:10px}.suggestion small{display:block;color:var(--muted);font-size:9px;margin-top:4px}
.week-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.week-day-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:13px;text-align:left;min-width:0}.week-day-card.current{border-color:rgba(195,244,91,.38)}.week-day-card .week-day-top{display:flex;justify-content:space-between;align-items:center}.week-day-card strong{font:700 12px 'Space Grotesk',sans-serif}.week-day-card small{color:var(--muted);font-size:8px}.week-day-card p{font-size:10px;color:#b4c0b0;margin:7px 0 10px;min-height:25px}.week-mini-track{height:4px;background:#2b342a;border-radius:9px;overflow:hidden}.week-mini-track i{display:block;height:100%;background:var(--lime);border-radius:9px}.week-day-card .week-progress-label{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-top:6px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:17px}.stat-card small{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.7px}.stat-card strong{display:block;font:700 27px 'Space Grotesk',sans-serif;margin-top:7px}.stat-card strong span{font-size:12px;color:var(--lime)}.stat-card p{font-size:9px;color:var(--muted);margin:3px 0 0}.history-panel{margin-top:15px;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:16px}.history-panel h3{font:700 14px 'Space Grotesk',sans-serif;margin:0 0 14px}.history-row{display:grid;grid-template-columns:38px 1fr 30px;gap:10px;align-items:center;margin:12px 0}.history-day{font-size:9px;font-weight:800;color:#cbd5c7}.history-bar{height:7px;background:#293128;border-radius:8px;overflow:hidden}.history-bar i{display:block;height:100%;background:linear-gradient(90deg,#8fbd2d,var(--lime));border-radius:8px}.history-percent{text-align:right;font-size:9px;color:var(--muted)}
.guidance-card{margin-top:15px;border:1px solid rgba(158,227,189,.13);background:rgba(65,120,88,.07);padding:14px;border-radius:15px;color:#b6c5b4;font-size:10px;line-height:1.6}.guidance-card strong{color:var(--mint)}
.bottom-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:rgba(12,15,12,.93);backdrop-filter:blur(20px);border-top:1px solid var(--line)}.nav-item{width:min(31%,160px);height:49px;border:0;border-radius:14px;background:transparent;color:#7e897c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:700}.nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{background:rgba(195,244,91,.1);color:var(--lime)}
.timer-float{position:fixed;z-index:9;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(360px,calc(100% - 36px));display:flex;align-items:center;gap:10px;padding:10px 12px;background:#20291d;border:1px solid rgba(195,244,91,.32);box-shadow:0 12px 35px rgba(0,0,0,.45);border-radius:16px}.timer-float[hidden]{display:none}.timer-mini-icon{font-size:20px;color:var(--lime)}.timer-mini-copy{flex:1;display:flex;flex-direction:column;gap:1px}.timer-mini-copy small{font-size:7px;letter-spacing:1px;color:var(--muted);font-weight:800}.timer-mini-copy strong{font:700 17px 'Space Grotesk',sans-serif}.timer-mini-action,.timer-mini-open{border:1px solid var(--line);border-radius:10px;background:#2a3527;width:33px;height:33px;color:var(--lime);font-weight:800}.timer-mini-open{color:#dce6d7}
.modal-backdrop{position:fixed;z-index:20;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(9px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.timer-modal{width:min(100%,390px);background:#171e17;border:1px solid rgba(195,244,91,.2);border-radius:25px;padding:25px 22px 22px;text-align:center;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.55)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--muted);font-size:26px}.timer-modal .eyebrow{margin-top:5px}.timer-modal h2{font:700 21px 'Space Grotesk',sans-serif;margin:0 0 20px}.timer-display{font:700 clamp(55px,16vw,72px)/1 'Space Grotesk',sans-serif;letter-spacing:-3px;color:var(--lime);font-variant-numeric:tabular-nums;margin:22px 0}.timer-presets{display:flex;justify-content:center;gap:8px}.timer-presets button{border:1px solid var(--line);background:#222a21;border-radius:10px;padding:9px 18px;color:#c4d0c0;font-size:11px;font-weight:800}.timer-presets button.selected{background:rgba(195,244,91,.14);border-color:rgba(195,244,91,.5);color:var(--lime)}.timer-controls{display:flex;gap:9px;margin-top:20px}.button{border-radius:12px;padding:13px 15px;border:1px solid transparent;font-size:11px;font-weight:800}.button-primary{flex:1;background:var(--lime);color:#17210d}.button-ghost{background:#242d23;border-color:var(--line);color:#d1dccd}.timer-note{color:var(--muted);font-size:10px;margin:15px 0 0}
.toast{position:fixed;z-index:30;bottom:calc(92px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#e3f6c4;color:#1a260d;padding:10px 15px;border-radius:30px;font-size:10px;font-weight:800;box-shadow:0 8px 30px rgba(0,0,0,.3);transition:opacity .2s,transform .2s;white-space:nowrap;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
.empty-state{padding:25px;text-align:center;color:var(--muted);font-size:12px}
@media(min-width:650px){.app-shell{padding:0 28px}.topbar{height:82px}.welcome-row{padding-top:34px}.hero-card{min-height:235px;padding:26px 28px}.hero-content{max-width:64%}.hero-watermark{font-size:190px;right:40px}.day-strip{gap:10px}.day-button{padding:13px 4px 11px}.exercise-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exercise-card{grid-template-columns:105px minmax(0,1fr);min-height:160px}.exercise-art{width:105px;min-height:140px}.exercise-art svg{min-height:140px}.week-view-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(4,1fr)}.bottom-nav{gap:24px}.view-section{padding-bottom:35px}}
@media(max-width:370px){.app-shell{padding:0 14px}.welcome-row h1{font-size:28px}.hero-card{padding:18px}.hero-content{max-width:83%}.hero-watermark{right:0;font-size:125px}.exercise-card{grid-template-columns:96px minmax(0,1fr);gap:10px;padding:8px}.exercise-art{width:96px;min-height:132px}.exercise-art svg{min-height:132px}.exercise-name{font-size:12px}.metric{font-size:7px;padding:4px 5px}.exercise-tip{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
