@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#273c32;background:#f7f8f5;font-synthesis:none;font-weight:400;--green:#315d47;--dark:#233f30;--muted:#8b938b;--line:#e5e9e1;--coral:#d99786;--accent:#668d69;--tint:#edf3e9;--p:0%;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8ead79;outline-offset:4px}button{transition:background .18s,box-shadow .18s,transform .18s,color .18s}button:not(:disabled):active{transform:translateY(1px)}button svg{flex-shrink:0}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif}button:disabled:active{transform:none}.app-header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3.4%;gap:64px;background:#fafbf8}.brand{display:flex;align-items:center;font-family:Manrope,sans-serif;letter-spacing:-1.15px;font-size:26px;font-weight:800}.brand-period{color:#71925d}.brand-mark{height:31px;width:29px;display:flex;align-items:center;gap:3px;margin-right:11px;transform:skewY(-13deg)}.brand-mark i{display:block;width:7px;background:#587746;border-radius:2px}.brand-mark i:nth-child(1){height:14px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:31px}.app-header nav{display:flex;align-self:stretch;gap:29px}.app-header nav button{position:relative;background:none;color:#979c95;font-size:13px;font-weight:550;padding:0 7px}.app-header nav button.active{color:var(--dark)}.app-header nav button.active:after{content:"";height:2px;background:#608450;position:absolute;bottom:-1px;left:0;right:0}.header-actions{display:flex;align-items:center;gap:21px;margin-left:auto}.local-status{font-size:11px;color:#929a90;display:flex;align-items:center;gap:7px}.local-status i,.status-dot{width:5px;height:5px;border-radius:50%;background:#7e9a69;display:inline-block}.focus-button{border:1px solid #dfe5d9;border-radius:7px;display:flex;align-items:center;gap:7px;background:transparent;padding:8px 11px;font-size:11px;font-weight:500}.focus-button:hover,.focus-button.active{background:#eaf0e3}.icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#8c948b;border-radius:6px;padding:0}.icon-button:hover{background:#edf0e9;color:#3d543f}.settings-button{color:#65765f}main{max-width:1690px;margin:auto;padding:30px 3.4% 0}.hero{display:flex;justify-content:space-between;align-items:center;margin:3px 0 28px;min-height:120px;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.65px;font-weight:600;color:#819173;display:flex;align-items:center;gap:7px}.tiny-spark{font-size:15px;line-height:1;color:#7f966e}.hero h1{font-size:clamp(30px,3.1vw,47px);line-height:1.25;font-weight:500;letter-spacing:-1.9px;margin:13px 0;color:#233d2d}.hero h1 span{font-family:Georgia,Times New Roman,serif;font-weight:400;font-style:italic;letter-spacing:-1.65px;color:#638357}.hero p{font-size:12px;color:#939a90;letter-spacing:.05px}.countdown{display:flex;align-items:center;gap:19px;text-align:left;padding:20px 28px;border:1px solid #e5ebdb;background:linear-gradient(110deg,#edf2e6,#f2f5ed);border-radius:13px;min-width:274px}.countdown:hover{background:#e8efdf}.countdown-ring{border-radius:50%;width:67px;height:67px;position:relative;display:grid;place-items:center;background:conic-gradient(#819e65 var(--p),#dce6cf 0);color:#75965f;flex-shrink:0}.countdown-ring:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#eff3e8}.countdown-ring svg{z-index:1}.countdown-label{font-size:8px;font-weight:600;letter-spacing:1.15px;color:#80906f;display:block}.countdown-value{font-family:Manrope,sans-serif;font-size:33px;font-weight:600;letter-spacing:-1.3px;line-height:1.4}.countdown-value>span{font-family:DM Sans,sans-serif;font-size:11px;font-weight:400;letter-spacing:0;color:#7b8c70;margin-left:8px}.countdown-date{display:flex;align-items:center;gap:7px;font-size:10px;color:#8e9982}.challenge-strip{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;gap:26px;padding:17px 20px;min-height:70px;box-shadow:0 2px 3px #253b2510}.challenge-title{display:flex;align-items:center;gap:13px;min-width:300px}.challenge-icon{width:35px;height:35px;display:grid;place-items:center;background:#f2f5ec;border:1px solid #e8edde;border-radius:10px;color:#84976f}.challenge-title strong{font-size:12px;font-weight:550;display:block;letter-spacing:.05px}.challenge-title>div>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#9ca394;margin-top:5px}.challenge-title i{height:2px;width:2px;background:#9ca394;border-radius:50%}.challenge-track{height:4px;border-radius:3px;background:#edf0e8;width:25%;max-width:330px;margin-left:auto;overflow:hidden}.challenge-track div{height:100%;background:#a6bc85;min-width:3px;border-radius:3px}.streak{display:flex;align-items:center;gap:6px;color:#8a9184;font-size:10px;white-space:nowrap;border-left:1px solid var(--line);padding-left:26px}.streak svg{color:#ae9b78;margin-right:2px}.streak strong{font-size:12px;font-weight:550;color:#536144}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 14px}.today-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.today-heading h2{font-size:18px;font-weight:600;letter-spacing:-.55px}.date-label{font-size:10px;color:#939b8c;padding-left:16px;border-left:1px solid #dbe1d4}.day-navigation{display:flex;gap:0;margin-left:-9px}.day-navigation .icon-button{width:21px;height:23px}.heading-actions{display:flex;align-items:center;gap:19px}.completion-count{font-size:10px;color:#9aa18f;white-space:nowrap}.completion-count>span{color:#526c41;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:7px;font-size:11px;font-weight:550;background:#fff;border:1px solid #dfe5d7;white-space:nowrap}.button:hover{background:#edf2e7}.add-exercise{padding:8px 12px;font-size:10px;color:#567147}.primary{background:#365741;border-color:#365741;color:#fff}.primary:hover{background:#294432;border-color:#294432}.subtle{background:transparent}.day-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:16px}.summary-caption{display:flex;align-items:center;gap:6px;font-size:10px;color:#96a08b}.sun-icon{font-size:16px;color:#adb794;line-height:1}.overall-progress{display:flex;align-items:center;gap:11px;font-size:10px;color:#a0a695}.overall-progress>span strong{color:#5d704d;font-weight:500}.overall-progress>strong{font-size:9px;font-weight:500;color:#728561;width:25px}.overall-progress>div{width:95px;height:4px;border-radius:3px;background:#e7ebdf;overflow:hidden}.overall-progress i{display:block;height:100%;background:#8fa770;border-radius:3px;transition:width .35s ease}.exercise-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.sage{--accent:#77916b;--tint:#eef3e9;--light:#f7faf3}.blue{--accent:#729399;--tint:#edf3f4;--light:#f4f9f9}.purple{--accent:#9a89a8;--tint:#f2eef6;--light:#faf7fc}.amber{--accent:#b49a6b;--tint:#f6f1e5;--light:#fcfaf4}.rose{--accent:#b48c82;--tint:#f7eeeb;--light:#fcf8f6}.exercise-card{background:#fff;border:1px solid #e1e6da;border-radius:12px;min-width:0;padding:17px 18px 14px;box-shadow:0 3px 4px #2e45270a;position:relative;transition:border-color .25s,box-shadow .25s;animation:card-enter .45s both}.exercise-card:nth-child(2){animation-delay:40ms}.exercise-card:nth-child(3){animation-delay:80ms}.exercise-card:nth-child(4){animation-delay:.12s}.exercise-card:nth-child(5){animation-delay:.16s}.exercise-card:hover{border-color:#c7d2be;box-shadow:0 6px 20px #2943240a}.exercise-card.is-complete{border-color:color-mix(in srgb,var(--accent),white 45%);background:linear-gradient(155deg,var(--light),white 65%)}.exercise-card.is-dragging{box-shadow:0 15px 40px #1b341c25;opacity:.88;animation:none}.card-top{display:flex;align-items:center;gap:8px}.exercise-icon{width:35px;height:35px;background:var(--tint);color:var(--accent);border-radius:9px;display:grid;place-items:center;flex-shrink:0}.exercise-icon svg{width:26px;height:26px}.category{font-size:7px;letter-spacing:1px;font-weight:550;color:var(--accent);flex:1}.drag-handle{background:transparent;color:#c6cdbe;padding:3px 0;cursor:grab;display:flex;align-items:center;touch-action:none;opacity:.6}.drag-handle:hover{opacity:1;color:#687d57}.drag-handle:active{cursor:grabbing}.card-menu{width:18px;height:25px;color:#a5ad9b}.exercise-card h3{font-size:13px;font-weight:650;letter-spacing:-.27px;margin:16px 0 13px;min-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rep-block{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.rep-value{font-family:Manrope,sans-serif;font-variant-numeric:tabular-nums;font-size:43px;font-weight:500;letter-spacing:-2px;line-height:1.2;color:#314430;animation:number-in .2s ease-out}.rep-value span{font-family:DM Sans,sans-serif;font-size:13px;letter-spacing:-.1px;color:#b0b5a6;font-weight:400;margin-left:8px}.rep-label{font-size:9px;color:#a3aa99;margin-left:1px;height:14px;display:flex;align-items:center;gap:3px}.complete-label{color:var(--accent)}.goal-line{display:flex;align-items:center;gap:8px;margin:13px 0 17px}.progress-track{height:5px;border-radius:4px;background:var(--tint);flex:1;overflow:hidden}.progress-track>div{height:100%;border-radius:4px;background:var(--accent);transition:width .4s cubic-bezier(.16,1,.3,1)}.goal-line>span{font-size:9px;color:#a4ac9a;min-width:24px;text-align:right;font-variant-numeric:tabular-nums}.rep-controls{display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1fr;gap:6px}.rep-controls button{height:32px;border-radius:6px;background:#fafbf8;border:1px solid #e9ede3;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;color:#7a896a;padding:0}.rep-controls button:hover:not(:disabled){background:var(--tint);border-color:var(--accent)}.rep-controls .add-one{background:var(--tint);border-color:color-mix(in srgb,var(--accent),white 74%);color:var(--accent)}.rep-controls button:active:not(:disabled){transform:scale(.94)}.timeline{margin-top:19px;border-top:1px solid #f0f2ec;padding-top:11px;color:#9fa995}.timeline-caption{display:flex;justify-content:space-between;font-size:8px;color:#a4ad9b;gap:8px}.timeline-caption span:last-child{color:#bbc1b3;font-size:7px}.timeline svg{width:100%;height:44px;overflow:visible;display:block;margin-top:2px}.timeline-dates{display:flex;justify-content:space-between;color:#a5ad9c;font-size:7px;margin-top:3px}.cards-foot{display:flex;align-items:center;justify-content:space-between;margin:13px 1px 28px;color:#a3aa98;font-size:9px;gap:10px}.cards-foot>span{display:flex;align-items:center;gap:4px}.chart-legend,.calendar-legend{display:flex;align-items:center;gap:15px}.chart-legend>span,.calendar-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#a3b48d}.legend-dot.coral{background:var(--coral)}.legend-dash{display:inline-block;border-top:1px dashed #b5bea9;width:11px}.overview{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.week-panel{border:1px solid var(--line);background:#fcfdf9;border-radius:12px;padding:20px 23px 14px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-heading h2{font-size:16px;font-weight:550;letter-spacing:-.4px;margin-top:7px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.3px;color:#97a18b}.week-range{font-size:9px;color:#9ba68f}.week-days{display:flex;justify-content:space-between;gap:10px;margin:17px 10px 9px}.week-day{background:none;display:flex;align-items:center;flex-direction:column;padding:0;gap:8px;color:#9da893;font-size:9px;min-width:31px}.week-day:disabled{opacity:.55}.day-ring{width:35px;height:35px;display:grid;place-items:center;background:conic-gradient(#8b9f72 var(--p),#e9eddf 0);border-radius:50%;color:#8b9a79;font-size:10px;padding:2px}.day-ring>span{background:#fcfdf9;width:100%;height:100%;border-radius:50%;display:grid;place-items:center}.week-day.selected .day-ring{box-shadow:0 0 0 3px #dce5ce;color:#4d6940}.week-day.full .day-ring>span{background:#edf3e4}.week-day>i{height:3px;width:3px;background:transparent;border-radius:50%}.week-day.selected>i,.week-day>.has-reps{background:#8aa06c}.week-foot{border-top:1px solid #e9ecdf;display:flex;justify-content:space-between;padding-top:10px;font-size:8px;color:#a7af9b}.week-foot>span:first-child{display:flex;align-items:center;gap:5px;color:#8e9c7d}.week-foot .status-dot{width:4px;height:4px}.note-panel{position:relative;overflow:hidden;border:1px solid #e6eada;border-radius:12px;background:linear-gradient(120deg,#eff3e6,#f4f6ee);padding:33px 30px;display:flex;gap:18px;align-items:flex-start}.note-icon{width:39px;height:39px;border:1px solid #dde5cf;background:#f4f7ed;display:grid;place-items:center;color:#8ea773;border-radius:11px;flex-shrink:0}.note-panel .eyebrow{font-size:7px;letter-spacing:1.4px;color:#98a587;margin:3px 0 12px}.note-panel h2{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:24px;letter-spacing:-.6px;color:#637b50;position:relative;z-index:1}.note-panel p{font-size:10px;line-height:1.9;color:#9ba78b;margin-top:10px;position:relative;z-index:1}.note-art{position:absolute;display:flex;align-items:flex-end;gap:9px;right:23px;bottom:-12px;transform:rotate(-12deg);opacity:.18}.note-art i{width:18px;border-radius:12px;background:#b7c59b;display:block}.note-art i:nth-child(1){height:37px}.note-art i:nth-child(2){height:56px}.note-art i:nth-child(3){height:81px}.note-art i:nth-child(4){height:105px}.note-art i:nth-child(5){height:142px}footer{padding:24px 0 20px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a6ae9c}footer>span{display:flex;align-items:center;gap:5px}.footer-mark{font-size:14px;color:#8f9d7c;margin-right:2px}.footer-leaf{display:flex;color:#94a283}.back-today{background:#ecf1e4;font-size:9px;color:#65804f;padding:5px 7px;border-radius:4px}.empty-state{text-align:center;padding:45px;background:#fff;border:1px dashed #cfd9c3;border-radius:12px;color:#7c9468}.empty-state>svg{margin:0 auto 12px}.empty-state h2{font-size:20px}.empty-state p{font-size:12px;margin:10px 0 20px;color:#98a18f}.outside-challenge,.storage-warning{padding:12px 15px;background:#f5f0e5;border:1px solid #e6dcc4;border-radius:8px;color:#938262;display:flex;align-items:center;gap:8px;font-size:11px;margin-bottom:15px}.outside-challenge button,.storage-warning button{background:transparent;text-decoration:underline;display:flex;align-items:center;gap:5px;margin-left:auto;color:inherit}.storage-warning{background:#fbebe7;color:#a56653}.history-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:11px;background:#fff;margin:21px 0;padding:24px}.history-stats>div{border-right:1px solid var(--line);padding-left:25px;display:flex;flex-direction:column;gap:7px}.history-stats>div:first-child{padding-left:5px}.history-stats>div:last-child{border:0}.history-stats span{font-size:11px;color:#9aa58f}.history-stats strong{font-family:Manrope,sans-serif;font-size:26px;font-weight:550;letter-spacing:-1px}.history-calendar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.calendar-nav{display:flex;gap:6px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:24px}.weekday{text-align:center;font-size:9px;color:#9ba48f;margin-bottom:5px}.calendar-day{text-align:left;border-radius:7px;border:1px solid #e9ede2;padding:10px 12px;background:#fafbf8;display:flex;flex-direction:column;gap:10px;min-height:79px}.calendar-day>span:first-child{font-size:11px;color:#87987a}.calendar-day>strong{font-size:16px;font-weight:500;color:#7f916f}.calendar-day small{font-size:9px;font-weight:400;color:#a1ac96}.calendar-day.missed{background:#fffaf8;border-color:#f0e5df}.calendar-day.missed>strong{color:#b29383}.calendar-day.perfect{background:#edf3e7;border-color:#dce7cc}.calendar-day.is-today{outline:1px solid #8da975;border-color:#8da975;background:#f5f8ef}.calendar-day:not(:disabled):hover{box-shadow:0 2px 10px #36502518;transform:translateY(-2px)}.calendar-progress{height:3px;background:#e9edde;border-radius:3px;overflow:hidden}.calendar-progress>i{display:block;height:100%;background:#96ad7a}.calendar-day.missed .calendar-progress{background:#f0e5dc}.calendar-day.missed .calendar-progress>i{background:var(--coral)}.upcoming{font-size:9px;color:#9ba591}.calendar-legend{font-size:9px;color:#98a18e;margin-top:20px}.calendar-legend>span:last-child{margin-left:auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#24342545;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;animation:fade-in .18s}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 40px);overflow:auto;background:#fcfdf9;border:1px solid white;border-radius:17px;padding:27px;box-shadow:0 30px 100px #15271730;z-index:31;animation:fade-in .2s}.modal-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:24px}.modal-top h2{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.65px;font-weight:600;line-height:1.3}.modal-top p{font-size:11px;color:#98a18e;margin-top:8px;line-height:1.6}.modal-top .icon-button{flex-shrink:0;margin:-7px -7px 0 0}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500;margin-bottom:18px;color:#7e8d71}.field input{width:100%;border:1px solid #dde4d5;background:#fff;border-radius:7px;height:41px;padding:10px 12px;font-size:12px;color:#354b2b;min-width:0}.field input::placeholder{color:#b1b9a8}.input-suffix{position:relative}.input-suffix input{padding-right:95px}.input-suffix>span{position:absolute;right:13px;top:13px;font-size:11px;font-weight:400;color:#9faa91}.color-field{border:0;padding:0;margin:0}.color-field legend{font-size:11px;font-weight:500;color:#7e8d71;margin-bottom:12px}.color-options{display:flex;gap:11px}.color-option{background:var(--tint);color:var(--accent);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;border:2px solid transparent}.color-option.selected{border-color:var(--accent)}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.delete-button{display:flex;align-items:center;gap:6px;color:#b48e7c;font-size:11px;background:none;padding:6px}.delete-button:hover{color:#a5553d}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-goals h3{font-size:12px;font-weight:550;color:#758567;margin:4px 0 13px}.settings-goal{display:flex;align-items:center;gap:8px;font-size:11px;color:#7d8b71;margin-bottom:10px}.goal-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.settings-goal>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.settings-goal input{width:67px;border:1px solid #e0e6d8;background:#fff;border-radius:5px;padding:7px;font-size:11px;color:#5a704a}.settings-goal small{color:#a8b19d;font-size:9px}.form-note{font-size:9px;color:#a6af9b;line-height:1.6;margin-top:14px}.local-note{margin-top:19px;border-radius:8px;background:#f0f4e9;padding:12px;display:flex;align-items:center;gap:9px;color:#90a078}.local-note>span{font-size:9px;line-height:1.7;flex:1}.local-note .icon-button{flex-shrink:0}.privacy-label{font-size:9px;color:#a2ad95}.form-error{font-size:11px;color:#b36d52;margin-top:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;border:1px solid #dfe7d7;background:#fff;box-shadow:0 8px 40px #2438221c;border-radius:11px;padding:11px 12px 11px 14px;z-index:50;max-width:calc(100vw - 32px);font-size:11px;color:#6d7f5b;animation:fade-in .2s;min-width:240px}.toast-icon{width:25px;height:25px;border-radius:50%;background:#edf4e5;color:#819d64;display:grid;place-items:center;flex-shrink:0}.toast>button:not(.icon-button){background:none;color:#496336;font-weight:600;font-size:11px;padding:5px}.toast>.icon-button{margin-left:auto;flex-shrink:0}@keyframes card-enter{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes number-in{0%{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(min-width:1600px){.exercise-card{padding:21px 23px 17px}.exercise-card h3{font-size:15px}.rep-value{font-size:48px}.rep-controls button{height:36px}.timeline svg{height:49px}.category{font-size:8px}}@media(max-width:1150px){.app-header{gap:35px}.header-actions{gap:14px}.local-status{display:none}.exercise-grid{gap:10px}.exercise-card{padding:14px 12px 12px}.category{font-size:6px;letter-spacing:.5px}.card-top{gap:5px}.exercise-icon{width:30px;height:30px}.exercise-icon svg{width:23px;height:23px}.exercise-card h3{font-size:11px}.rep-value{font-size:37px}.rep-value span{font-size:11px}.note-panel{padding:27px 21px;gap:12px}.note-panel h2{font-size:21px}.note-icon{width:32px;height:32px}.overview{gap:15px}.week-panel{padding:20px 18px 14px}}@media(max-width:999px){.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.exercise-card{padding:18px}.exercise-card h3{font-size:14px}.category{font-size:8px}.exercise-icon{width:35px;height:35px}.hero h1{font-size:36px}.countdown{min-width:230px;padding:18px;gap:13px}.countdown-ring{width:55px;height:55px}.challenge-title{min-width:240px}.challenge-track{display:none}.streak{margin-left:auto;padding-left:18px}.challenge-strip{gap:17px}.overview{grid-template-columns:1fr 1fr}.note-panel{padding:24px 20px;flex-direction:column;gap:9px}.note-panel .eyebrow{margin-bottom:9px}.note-panel p{font-size:10px}.note-panel h2{font-size:21px}.today-heading{gap:11px}.date-label{padding-left:11px}.completion-count{display:none}.week-days{margin-left:0;margin-right:0;gap:6px}}@media(max-width:700px){.app-header{height:68px;padding:0 22px;gap:24px}.brand{font-size:23px}.brand-mark{height:26px;width:24px;gap:3px;margin-right:8px}.brand-mark i{width:6px}.brand-mark i:nth-child(3){height:26px}.brand-mark i:nth-child(2){height:20px}.brand-mark i:nth-child(1){height:12px}.app-header nav{gap:12px;margin-left:auto}.app-header nav button{font-size:12px;padding:0 4px}.header-actions{margin-left:0;gap:0}.focus-button{display:none}.settings-button{width:26px}.hero{align-items:flex-start;flex-direction:column;margin:0 0 20px;gap:22px}.hero-copy{padding:5px 0 0}.hero h1{font-size:35px;letter-spacing:-1.6px;margin:13px 0 11px}.hero h1 span{letter-spacing:-1.5px}.hero p{font-size:11px;line-height:1.7}.hero .eyebrow{font-size:8px;letter-spacing:1.35px}.countdown{width:100%;min-width:0;padding:15px 20px;gap:17px}.countdown-ring{width:54px;height:54px}.countdown>div:last-child{display:grid;grid-template-columns:1fr auto;flex:1;column-gap:10px;align-items:center}.countdown-label{font-size:7px;letter-spacing:1px}.countdown-value{grid-column:2;grid-row:1 / 3;font-size:31px;line-height:1.2;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.countdown-value>span{font-size:9px;margin-left:0}.countdown-date{margin-top:8px;font-size:10px}.countdown-ring svg{width:23px}main{padding:23px 20px 0}.challenge-strip{padding:14px;min-height:68px;gap:9px}.challenge-title{min-width:0;flex:1;gap:10px}.challenge-title strong{font-size:10px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenge-title>div>span{font-size:8px;gap:5px}.challenge-icon{width:31px;height:31px;border-radius:8px}.streak{border:0;padding:0;gap:3px;font-size:0;margin:0}.streak strong{font-size:11px}.streak svg{width:15px;margin:0}.challenge-strip>.icon-button{display:none}.dashboard-heading{margin:26px 0 12px;gap:8px;align-items:flex-start}.today-heading{gap:6px}.today-heading h2{font-size:17px;flex-basis:100%}.date-label{font-size:9px;border:0;padding:0;margin-top:4px}.day-navigation{margin:1px 0 0}.heading-actions{padding-top:3px}.add-exercise{font-size:9px;padding:7px 9px;gap:4px}.add-exercise svg{width:13px}.day-summary{margin-bottom:15px;gap:8px}.summary-caption{font-size:8px;max-width:190px;line-height:1.4}.overall-progress{font-size:8px;gap:7px;white-space:nowrap}.overall-progress>div{width:38px}.overall-progress>strong{display:none}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exercise-card{padding:16px 14px}.exercise-card h3{font-size:12px;margin-top:13px}.card-top{gap:5px}.category{font-size:6px;letter-spacing:.5px}.exercise-icon{width:30px;height:30px}.rep-value{font-size:38px}.rep-controls{gap:5px}.rep-controls button{height:36px}.cards-foot{margin-bottom:23px;align-items:flex-start;gap:8px;flex-direction:column;font-size:8px}.chart-legend{margin-top:3px;gap:13px}.overview{grid-template-columns:1fr;gap:14px}.week-panel{padding:20px 20px 14px}.week-days{margin:20px 2px 9px;gap:8px}.week-day{font-size:10px;gap:10px}.day-ring{width:36px;height:36px;font-size:11px}.week-range{font-size:8px}.section-heading h2{font-size:16px}.note-panel{flex-direction:row;padding:25px 22px;gap:15px}.note-panel .eyebrow{font-size:6px}.note-panel h2{font-size:23px}.note-panel p{font-size:10px}.note-art{opacity:.11}.note-icon{width:35px;height:35px}.note-icon svg{width:19px}footer{padding:23px 0;font-size:8px;justify-content:center}footer>span:last-child{display:none}.outside-challenge{font-size:10px;flex-wrap:wrap;line-height:1.6}.outside-challenge>svg{display:none}.outside-challenge button{margin-left:0;font-size:10px}.history-stats{padding:19px 16px;grid-template-columns:repeat(2,1fr);gap:23px}.history-stats>div{padding-left:0!important;border:0}.history-stats span{font-size:10px}.history-stats strong{font-size:24px}.history-calendar{padding:17px 12px}.history-calendar .section-heading{padding:0 3px}.month-grid{gap:4px;margin-top:20px}.calendar-day{min-height:61px;padding:6px 5px;gap:8px;border-radius:5px}.calendar-day>span:first-child{font-size:9px}.calendar-day>strong{font-size:11px}.calendar-day small{display:none}.calendar-day .upcoming{font-size:6px;letter-spacing:-.2px}.weekday{font-size:8px}.calendar-legend{font-size:8px;gap:9px;flex-wrap:wrap;line-height:1.5}.calendar-legend>span:last-child{margin-left:0;flex-basis:100%;margin-top:7px}.modal{padding:24px;max-height:calc(100dvh - 28px)}.modal-top h2{font-size:19px}.field input{font-size:16px}.date-fields{gap:10px}.date-fields input{font-size:13px;padding:10px 7px}.settings-goal input{font-size:16px}.modal-actions{gap:9px}.privacy-label{font-size:8px}.toast{bottom:16px;font-size:10px;width:max-content}.back-today{font-size:8px;margin-top:3px}}@media(max-width:480px){.exercise-grid{grid-template-columns:1fr;gap:15px}.exercise-card{padding:19px 21px 15px}.card-top{gap:10px}.exercise-icon{width:36px;height:36px}.exercise-icon svg{height:27px;width:27px}.category{font-size:8px;letter-spacing:1.1px}.drag-handle{padding:7px;opacity:.85}.card-menu{width:22px}.exercise-card h3{font-size:16px;margin:15px 0 10px}.rep-block{flex-direction:row;align-items:baseline;gap:11px}.rep-value{font-size:43px}.rep-value span{font-size:13px}.rep-label{font-size:9px}.goal-line{margin:12px 0 15px}.rep-controls{gap:8px}.rep-controls button{height:42px;font-size:12px}.timeline{margin-top:16px;padding-top:11px}.timeline svg{height:39px}.timeline-caption{font-size:8px}.timeline-dates{font-size:8px;margin-top:2px}.cards-foot{margin-top:15px}.rep-value{max-width:100%;overflow-wrap:anywhere}}.focus-mode .app-header{height:41px}.focus-mode .brand{font-size:20px}.focus-mode .brand-mark{transform:skewY(-13deg) scale(.72);margin-right:3px}.focus-mode .app-header nav button{font-size:10px}.focus-mode .focus-button{padding:4px 8px;font-size:9px}.focus-mode .local-status{font-size:9px}.focus-mode main{padding-top:0}.focus-mode .hero,.focus-mode .challenge-strip,.focus-mode .day-summary,.focus-mode .cards-foot,.focus-mode .overview,.focus-mode footer{display:none}.focus-mode .dashboard-heading{margin:8px 0}.focus-mode .today-heading h2{font-size:13px}.focus-mode .add-exercise{padding:4px 8px;font-size:9px}.focus-mode .exercise-card{padding:10px 13px 8px;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;column-gap:7px}.focus-mode .card-top{grid-column:1 / -1;gap:5px}.focus-mode .exercise-icon{width:24px;height:24px;border-radius:6px}.focus-mode .exercise-icon svg{width:20px;height:20px}.focus-mode .category{font-size:6px;letter-spacing:.5px}.focus-mode .exercise-card h3{grid-column:1 / -1;margin:6px 0 4px;font-size:11px;min-height:15px}.focus-mode .rep-block{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:7px}.focus-mode .rep-value{font-size:29px;letter-spacing:-1px}.focus-mode .rep-value span{font-size:10px;margin-left:4px}.focus-mode .rep-label{font-size:7px}.focus-mode .goal-line{margin:5px 0 8px;grid-column:1 / -1;gap:5px}.focus-mode .goal-line>span{font-size:7px}.focus-mode .progress-track{height:3px}.focus-mode .rep-controls{grid-column:1 / -1;gap:5px}.focus-mode .rep-controls button{height:28px;font-size:10px}.focus-mode .timeline{grid-column:1 / -1;margin-top:7px;padding-top:5px}.focus-mode .timeline-caption{display:none}.focus-mode .timeline svg{height:26px;margin:0}.focus-mode .timeline-dates{font-size:6px;margin-top:0}.focus-mode .outside-challenge{padding:7px;margin:5px 0;font-size:10px}@media(min-width:1000px)and (max-height:560px){.app-header{height:41px}.brand{font-size:20px}.brand-mark{transform:skewY(-13deg) scale(.72);margin-right:3px}.app-header nav button{font-size:10px}.focus-button{padding:4px 8px;font-size:9px}.local-status{font-size:9px}main{padding-top:0}.hero,.challenge-strip,.day-summary,.cards-foot,.overview,footer{display:none}.dashboard-heading{margin:8px 0}.today-heading h2{font-size:13px}.add-exercise{padding:4px 8px;font-size:9px}.exercise-card{padding:10px 13px 8px;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;column-gap:7px}.card-top{grid-column:1 / -1;gap:5px}.exercise-icon{width:24px;height:24px;border-radius:6px}.exercise-icon svg{width:20px;height:20px}.category{font-size:6px;letter-spacing:.5px}.exercise-card h3{grid-column:1 / -1;margin:6px 0 4px;font-size:11px;min-height:15px}.rep-block{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:7px}.rep-value{font-size:29px;letter-spacing:-1px}.rep-value span{font-size:10px;margin-left:4px}.rep-label{font-size:7px}.goal-line{margin:5px 0 8px;grid-column:1 / -1;gap:5px}.goal-line>span{font-size:7px}.progress-track{height:3px}.rep-controls{grid-column:1 / -1;gap:5px}.rep-controls button{height:28px;font-size:10px}.timeline{grid-column:1 / -1;margin-top:7px;padding-top:5px}.timeline-caption{display:none}.timeline svg{height:26px;margin:0}.timeline-dates{font-size:6px;margin-top:0}.outside-challenge{padding:7px;margin:5px 0;font-size:10px}}@media(min-width:1000px)and (max-height:300px){.app-header{height:34px}.dashboard-heading{margin:5px 0}.exercise-card,.focus-mode .exercise-card{padding:6px 11px}.card-top,.focus-mode .card-top{position:absolute;right:8px;top:4px}.category,.exercise-icon,.focus-mode .category,.focus-mode .exercise-icon{display:none}.exercise-card h3,.focus-mode .exercise-card h3{margin:4px 35px 7px 0;font-size:10px}.rep-value,.focus-mode .rep-value{font-size:27px}.rep-controls button,.focus-mode .rep-controls button{height:27px}.timeline,.focus-mode .timeline{margin-top:4px;padding-top:3px}.timeline svg,.focus-mode .timeline svg{height:23px}.focus-mode .app-header{height:34px}.focus-mode .dashboard-heading{margin:5px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.hero p,.local-status,.date-label,.completion-count,.summary-caption,.overall-progress,.rep-label,.goal-line>span,.timeline-caption,.timeline-dates,.cards-foot,.week-range,.week-foot,.note-panel p,footer,.countdown-date,.challenge-title>div>span{color:#74806a}.timeline-caption span:last-child,.rep-value span,.countdown-label,.countdown-value>span{color:#849079}.category{color:color-mix(in srgb,var(--accent),#354330 23%)}.week-day{color:#78866c}.timeline-caption{font-size:9px}.timeline-dates{font-size:8px}.cards-foot,footer{font-size:9px}.hero p{font-size:13px}.note-panel p,.summary-caption,.completion-count,.date-label{font-size:11px}@media(max-width:700px){.hero p{font-size:11px}.summary-caption{font-size:9px}.date-label{font-size:10px}.cards-foot,footer{font-size:8px}.note-panel p{font-size:10px}}.compact-countdown{display:none;background:#edf2e6;color:#718461;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;font-size:9px;white-space:nowrap}.focus-mode .compact-countdown{display:flex}@media(min-width:1000px)and (max-height:560px){.compact-countdown{display:flex}}@media(max-width:480px){.rep-controls button{height:44px}}.past-edit-preview{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;background:#f0f4e9;border:1px solid #e0e7d7;border-radius:9px;font-size:12px;color:#536847}.past-edit-preview strong{font-weight:550}.past-edit-preview span{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.cards-only .app-header,.cards-only .hero,.cards-only .challenge-strip,.cards-only .dashboard-heading,.cards-only .day-summary,.cards-only .outside-challenge,.cards-only .cards-foot,.cards-only .overview,.cards-only footer{display:none}.cards-only main{max-width:none;padding:12px 58px 12px 12px}.exit-cards-button{position:fixed;top:12px;right:12px;width:34px;height:34px;border:1px solid #dfe5d7;border-radius:8px;background:#fafbf8;color:#647959;display:grid;place-items:center;z-index:15;box-shadow:0 2px 5px #253b250a}.exit-cards-button:hover{background:#eaf0e3;color:#365741}@media(max-width:700px){.cards-only-button{display:flex;padding:8px}.cards-only-button span{display:none}.header-actions{gap:7px}.app-header{gap:16px}.cards-only main{padding:54px 16px 16px}.exit-cards-button{top:8px;right:16px;width:38px;height:38px}}@media(max-width:999px){.focus-mode .exercise-grid{gap:12px}.focus-mode .rep-controls button{min-height:36px}.focus-mode .exercise-card h3{font-size:12px}.focus-mode .rep-label,.focus-mode .timeline-dates{font-size:8px}}@media(max-width:700px){.header-actions{gap:5px}.app-header{gap:12px}.focus-button,.focus-mode .focus-button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:7px;flex-shrink:0}.focus-button span{display:none}.focus-mode .app-header{height:56px;padding:0 16px}.focus-mode .brand{font-size:20px}.focus-mode .app-header nav button{font-size:11px}.focus-mode main{padding:0 16px 16px}.focus-mode .dashboard-heading{align-items:center;gap:12px;margin:12px 0}.focus-mode .today-heading h2{font-size:15px}.focus-mode .heading-actions{gap:8px;padding:0}.focus-mode .add-exercise,.focus-mode .compact-countdown{min-height:34px;font-size:10px;padding:7px 9px}.focus-mode .exercise-card{padding:12px 14px 10px}.focus-mode .rep-controls button{min-height:44px;font-size:12px}.focus-mode .rep-value{font-size:32px}.focus-mode .rep-value span{font-size:12px}.focus-mode .rep-label{font-size:9px}.focus-mode .drag-handle,.focus-mode .card-menu{min-width:28px;min-height:28px}.focus-mode .exercise-card h3{font-size:13px;margin:8px 0 6px}.focus-mode .timeline svg{height:30px}.focus-mode.cards-only main{padding:54px 16px 16px}}@media(max-width:480px){.app-header,.focus-mode .app-header{display:grid;grid-template-columns:1fr auto;height:auto;padding:10px 16px 0;gap:4px 8px}.header-actions{grid-column:2;grid-row:1;margin:0}.app-header nav{grid-column:1 / -1;grid-row:2;margin:0;justify-content:center;gap:28px;height:32px}.focus-mode .dashboard-heading{flex-wrap:wrap}.focus-mode .today-heading{width:100%;gap:8px}.focus-mode .today-heading h2{flex-basis:auto;margin-right:auto}.focus-mode .heading-actions{width:100%;justify-content:space-between}.focus-mode .exercise-card h3{font-size:14px}}.cards-only .app-header{display:none}.backup-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.backup-actions .button{flex:1}.import-summary{display:flex;flex-direction:column;gap:8px;background:#f0f4e9;border:1px solid #e0e7d7;border-radius:9px;padding:16px;font-size:11px;color:#667b59}.import-summary strong{font-size:14px;font-weight:550}.backup-current{margin-top:12px}.exercise-card.goal-impact{transform-origin:50% 85%;will-change:translate,rotate,scale}.goal-confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:25}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#eef3e6,transparent 65%)}.login-card{width:100%;max-width:420px;padding:36px;border:1px solid #e2e7da;border-radius:24px;background:#ffffffed;box-shadow:0 16px 60px #314e2510}.login-card h1{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.2px;margin:15px 0}.login-card h1 span{color:#759260}.login-card p{font-size:13px;line-height:1.8;color:#7a8870;margin-bottom:25px}.login-card .button{width:100%;justify-content:center;min-height:44px;margin-top:12px}.login-card input{font-size:16px;height:48px}.login-card small{display:block;font-size:11px;line-height:1.6;color:#8a967f;margin-top:24px}.login-options{display:flex;justify-content:space-between;margin-top:16px;gap:12px}.login-options button,.sign-out{background:none;font-size:12px;color:#6c8259;min-height:38px}.sign-out{display:block;margin:20px auto 0;text-decoration:underline}.sync-error{position:sticky;top:0;z-index:60;padding:12px 20px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#fff0dd;border-bottom:1px solid #e3ccb0;font-size:12px;color:#72512c}.sync-error span{flex:1;min-width:220px}.sync-error button{padding:8px 12px;background:#fff9ef;border:1px solid #d7bf9f;border-radius:6px;color:inherit}
