:root{--ink:#17221d;--muted:#748079;--lime:#b6ee3e;--cream:#f5f5ee;--line:#e3e8df;--card:#fff}*{box-sizing:border-box}body,html{min-height:100%}html{color-scheme:light;text-size-adjust:100%}body,html{background:var(--cream)}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit}button{min-width:44px;min-height:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input,select,textarea{font-size:16px}a{-webkit-tap-highlight-color:transparent}@media (display-mode:standalone){body{min-height:100svh}}.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:800;letter-spacing:-.8px;text-decoration:none}.brand span{color:#8cc41c;font-size:16px;line-height:1;letter-spacing:-1.4px}.eyebrow{color:#839087;font:10px DM Mono,monospace;letter-spacing:1.1px;margin:0 0 9px}.auth-shell{min-height:100svh;padding:24px 16px;display:grid;place-items:center;background:radial-gradient(circle at 94% 2%,#d8efa4 0,transparent 32%),var(--cream)}.auth-card{width:min(100%,448px);padding:30px 24px 25px;border:1px solid var(--line);background:rgba(255,255,252,.9);border-radius:26px;box-shadow:0 16px 45px rgba(34,55,37,.08)}.auth-copy{margin:42px 0 28px}.auth-copy h1{font-size:30px;line-height:1.13;letter-spacing:-1.5px;margin:0 0 10px}.auth-copy p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6;margin:0}.auth-form{display:grid;grid-gap:15px;gap:15px}.auth-form label{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:700}.auth-form input{width:100%;height:50px;border:1px solid #dbe2d9;border-radius:12px;padding:0 14px;outline:none;background:#fff;color:var(--ink)}.auth-form input:focus{border-color:#82ac21;box-shadow:0 0 0 3px #dff5b2}.primary-button{min-height:52px;border:0;border-radius:13px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--lime);color:#1c281b;font-size:14px;font-weight:800;transition:transform .15s,background .15s}.primary-button:hover{background:#c8f65c;transform:translateY(-1px)}.primary-button:disabled{opacity:.7;cursor:wait}.primary-button span{font-size:22px}.form-error{margin:0;border-radius:9px;padding:10px 12px;color:#9e3131;background:#fff0ee;font-size:12px}.auth-switch{text-align:center;color:var(--muted);font-size:13px;margin:25px 0 0}.auth-switch a{color:#547b09;font-weight:800}.dashboard-shell{width:min(100%,680px);min-height:100svh;margin:auto;padding:20px 17px 106px;background:var(--cream)}.topbar{display:flex;align-items:center;justify-content:space-between}.avatar{width:42px;height:42px;border-radius:50%;border:1px solid #d8e0d3;color:#58770f;background:#e5f4c4;font-weight:800}.welcome{margin:37px 0 24px}.welcome h1{letter-spacing:-1.8px;font-size:31px;margin:0 0 7px}.welcome h1 span{color:#8bc21d}.welcome>p:last-child{font-size:14px;margin:0;color:var(--muted)}.hero-card{position:relative;overflow:hidden;padding:25px 21px 20px;border-radius:24px;background:var(--ink);color:white;box-shadow:0 14px 26px rgba(23,34,29,.16)}.hero-card:after{content:"✦";position:absolute;right:16px;top:8px;color:var(--lime);font-size:77px;opacity:.14}.hero-card h2{position:relative;font-size:23px;letter-spacing:-1px;margin:0 0 6px}.hero-card p:not(.eyebrow){position:relative;max-width:270px;color:#bfcbc1;font-size:13px;line-height:1.55;margin:0 0 20px}.hero-card .eyebrow{color:#a9ce6d}.hero-card .primary-button{position:relative;width:100%}.inline-note{position:relative;margin:14px 0 0!important;color:#e3eddb!important;font-size:11px!important}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:34px 2px 14px}.section-heading h2{margin:0;font-size:20px;letter-spacing:-.8px}.streak{font-size:11px;color:#5e6b62;background:#e8ece5;padding:6px 9px;border-radius:100px}.week-card{display:grid;grid-template-columns:repeat(7,1fr);padding:18px 10px;background:var(--card);border:1px solid var(--line);border-radius:17px}.day{display:grid;justify-items:center;grid-gap:12px;gap:12px;font:10px DM Mono,monospace;color:#8b968e}.day i{display:block;width:25px;height:25px;border-radius:50%;background:#eef1ec}.day i.today{border:2px solid #86b923;background:#e4f7bb}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.stat-card{min-height:184px;padding:17px;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:18px}.stat-card.dark{background:#e8f5ce;border-color:#d4e8aa}.stat-icon{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;color:#5a8309;background:#e4f5c4}.stat-card p{color:#7b887f;margin:15px 0 5px;font-size:12px}.stat-card strong{font-size:21px;letter-spacing:-1px}.stat-card strong small{color:#869188;font-size:11px;letter-spacing:0}.stat-card>small{margin-top:9px;color:#71806e;line-height:1.45;font-size:10px}.stat-card button{margin-top:auto;padding:0;border:0;background:none;text-align:left;color:#608b0e;font-size:11px;font-weight:800}.bottom-nav{position:fixed;z-index:2;left:50%;bottom:0;width:min(100%,680px);transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);padding:9px max(13px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(255,255,252,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{min-height:48px;border:0;border-radius:10px;color:#89948b;background:transparent;display:grid;place-items:center;grid-gap:2px;gap:2px;font-size:17px}.bottom-nav button span{font-size:9px;font-weight:700}.bottom-nav button.active{color:#507a05;background:#ebf8d1}@media (min-width:641px){.dashboard-shell{padding:30px 30px 106px}.hero-card{display:grid;grid-template-columns:1fr 190px;align-items:flex-end}.hero-card .primary-button{width:190px}.stats-grid{grid-template-columns:repeat(2,1fr)}.auth-card{padding:38px}}.page-shell{width:min(100%,760px);min-height:100svh;margin:auto;padding:21px 17px 38px;background:var(--cream)}.page-top{display:flex;justify-content:space-between;align-items:center}.back-link{color:#637168;font-size:12px;font-weight:800;text-decoration:none}.text-button{border:0;background:none;padding:5px 0}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:39px 2px 17px}.title-row h1,.workout-head h1{font-size:32px;letter-spacing:-1.8px;margin:0 0 7px}.title-row p:not(.eyebrow),.workout-head p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0}.add-workout{width:54px;height:54px;flex:0 0 auto;border:0;border-radius:15px;background:var(--lime);color:var(--ink);font-size:34px;font-weight:500;line-height:1}.offline-chip{display:inline-block;padding:7px 10px;border-radius:10px;background:#e8f1e2;color:#697568;font-size:10px;font-weight:700}.workout-list{margin-top:21px;display:grid;grid-gap:9px;gap:9px}.workout-row{min-height:76px;padding:13px;display:grid;grid-template-columns:38px 1fr 16px;align-items:center;grid-gap:11px;gap:11px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none}.workout-mark{display:grid;place-items:center;width:35px;height:35px;color:#5d8411;border-radius:10px;background:#e9f7cd;font-weight:800}.workout-row strong{display:block;margin-bottom:4px;font-size:13px}.workout-row span{color:var(--muted);font-size:10px}.workout-row b{color:#9ba69e;font-size:23px;font-weight:400}.empty{margin:35px 4px;color:var(--muted);text-align:center;font-size:13px}.empty strong{color:var(--ink);display:block;margin-bottom:5px}.workout-head{margin:38px 0 22px;text-align:center}.workout-head h1{font:34px DM Mono,monospace;letter-spacing:-2px}.exercise-session{display:grid;grid-gap:12px;gap:12px}.exercise-log{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.exercise-title{padding:16px 16px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.exercise-title h2{margin:0 0 3px;font-size:15px;letter-spacing:-.5px}.exercise-title p{margin:0;color:var(--muted);font-size:10px}.exercise-title>span{white-space:nowrap;padding:5px 7px;border-radius:7px;background:#eef3ea;color:#6f7b70;font-size:9px}.set-table{border-top:1px solid #edf0eb}.set-head,.set-line{display:grid;grid-template-columns:36px 1fr 1fr;grid-gap:8px;gap:8px;align-items:center;padding:7px 15px}.set-head{color:#8b968e;font:9px DM Mono,monospace}.set-line{border-top:1px solid #f1f3ef}.set-line>span{color:#809078;font-size:12px;text-align:center}.set-line input{min-width:0;height:37px;border:1px solid #dee5da;border-radius:8px;padding:0 9px;text-align:center;outline:none}.set-line input:focus{border-color:#8eb925;box-shadow:0 0 0 2px #e8f6c7}.add-set,.custom-link,.pick-exercise{border:0;background:none;color:#618b0c;font-size:12px;font-weight:800}.add-set{width:100%;min-height:43px;border-top:1px solid #edf0eb}.pick-exercise{width:100%;min-height:57px;margin-top:13px;border:1.5px dashed #b8d575;border-radius:15px;background:#f9fced}.finish-button{width:100%;min-height:54px;margin-top:13px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:800}.finish-button span{display:inline-block;margin-left:8px;color:var(--lime);font-size:18px}.sync-state{padding:6px 9px;border-radius:99px;color:#5f7f18;background:#ecf7d4;font-size:10px;font-weight:800}.sync-state.pending{color:#8a6215;background:#fff0c8}.sheet{position:fixed;z-index:5;inset:0;display:flex;align-items:flex-end;background:rgba(13,23,17,.4)}.sheet-card{width:min(100%,760px);max-height:87svh;margin:auto;overflow:auto;padding:21px 17px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -12px 30px rgba(15,30,19,.16)}.sheet-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sheet-top h2{font-size:19px;letter-spacing:-.8px;margin:0}.sheet-top button{width:35px;height:35px;border:0;border-radius:50%;background:#eef1ec;font-size:22px}.custom-form input,.search{width:100%;height:49px;border:1px solid #dce4d7;border-radius:12px;padding:0 13px;outline:none}.custom-form input:focus,.search:focus{border-color:#8db624}.exercise-results{margin:12px 0}.exercise-results button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;text-align:left;border:0;border-bottom:1px solid #eef1ec;background:white}.exercise-results b,.exercise-results small{display:block}.exercise-results b{font-size:13px}.exercise-results small{margin-top:3px;color:var(--muted);font-size:10px}.exercise-results i{min-width:25px;color:#5f8c08;font-size:19px;font-style:normal}.custom-form{display:grid;grid-gap:10px;gap:10px}.custom-link{padding:10px 0}.start-workout{width:100%;min-height:58px;margin:5px 0 2px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:16px;color:#1c281b;background:var(--lime);font-size:15px;font-weight:800}.start-workout span{font-size:26px}.streak{border:0}.measurements{margin-top:20px;display:grid;grid-gap:1px;gap:1px}.measurements div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf0eb}.measurements b{font-size:13px}.measurements span{color:var(--muted);font-size:10px}.date-edit{display:inline-grid;gap:5px;color:#748079;font-size:10px}.date-edit input{border:1px solid #dbe2d9;border-radius:8px;padding:7px;background:#fff}.profile-head{display:flex;align-items:center;gap:15px;margin:43px 0 26px}.profile-avatar{display:grid;place-items:center;width:66px;height:66px;border-radius:21px;color:#527a08;background:#e3f4bd;font-size:26px;font-weight:800}.friends-head h1,.profile-head h1{margin:0 0 4px;font-size:27px;letter-spacing:-1.4px}.friends-head p:not(.eyebrow),.profile-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px}.profile-form{display:grid;grid-gap:15px;gap:15px;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff}.profile-form label{display:grid;grid-gap:7px;gap:7px;font-size:12px;font-weight:800}.profile-form input{height:48px;border:1px solid #dce4d7;border-radius:11px;padding:0 12px}.friends-head{margin:40px 0 20px}.people-list{display:grid;margin-top:14px}.person-row{min-height:64px;display:grid;grid-template-columns:40px 1fr 15px;align-items:center;grid-gap:11px;gap:11px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.person-row>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:#668e14;background:#eaf5d1;font-weight:800}.person-row b,.person-row small{display:block}.person-row b{font-size:13px}.person-row small{color:var(--muted);font-size:10px}.person-row i{color:#9aa69d;font-size:23px;font-style:normal}.activity-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:4px;gap:4px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.activity-grid i{aspect-ratio:1;border-radius:3px;background:#edf1eb}.activity-grid i.done{background:#9bd729}.week-card .day i.done{display:grid;place-items:center;width:31px;height:31px;color:#375309;background:#a8dc36;border:0;font:7px DM Mono,monospace;font-weight:700}.delete-icon,.delete-set{border:0;color:#b45d5d;background:#fff0ee;border-radius:8px}.delete-icon{width:29px;height:29px;font-size:18px}.set-head,.set-line{grid-template-columns:36px 1fr 1fr 28px}.delete-set{width:27px;height:27px}.delete-workout{width:100%;min-height:45px;margin-top:16px;border:0;color:#b14343;background:none;font-size:12px;font-weight:800}.workout-row-actions{grid-template-columns:1fr 34px;padding:0 8px 0 13px}.workout-row-actions>a{min-width:0;display:grid;grid-template-columns:38px 1fr 16px;align-items:center;grid-gap:11px;gap:11px;color:var(--ink);text-decoration:none}.delete-list{width:31px;height:31px;border:0;border-radius:9px;color:#b45d5d;background:#fff0ee;font-size:18px}.public-profile-link{min-height:52px;margin-top:13px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d5e5ae;border-radius:14px;color:#547a08;background:#f6fce9;text-decoration:none;font-size:12px;font-weight:800}.public-profile-link span{font-size:18px}.tonnage-total,.tonnage-week{color:#638a0c;font-size:12px}.tonnage-total{display:block;margin:-2px 0 10px}.tonnage-week{margin:-6px 2px 13px}.app-nav_nav__KxQ9y{position:fixed;z-index:20;left:50%;bottom:0;width:min(100%,760px);min-height:69px;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(218,225,215,.92);background:rgba(252,253,248,.9);box-shadow:0 -8px 30px rgba(28,43,32,.05);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4)}.app-nav_nav__KxQ9y button{min-width:0;min-height:49px;padding:5px 3px 3px;display:grid;place-items:center;align-content:center;grid-gap:3px;gap:3px;border:0;border-radius:13px;color:#879289;background:transparent;-webkit-tap-highlight-color:transparent;transition:color .16s ease,background .16s ease,transform .16s ease}.app-nav_nav__KxQ9y button:active{transform:scale(.94)}.app-nav_nav__KxQ9y button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-nav_nav__KxQ9y button span{max-width:100%;overflow:hidden;font-size:8px;line-height:1.1;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.app-nav_nav__KxQ9y button.app-nav_active__tq5Z8{color:#527a08;background:#edf8d7}.app-nav_nav__KxQ9y button.app-nav_active__tq5Z8 svg{stroke-width:2.2}@supports (padding-bottom:env(safe-area-inset-bottom)){.app-nav_nav__KxQ9y{min-height:calc(69px + env(safe-area-inset-bottom))}}@media (min-width:720px){.app-nav_nav__KxQ9y{bottom:12px;width:440px;padding:7px;border:1px solid rgba(218,225,215,.9);border-radius:20px;box-shadow:0 10px 34px rgba(28,43,32,.12)}.app-nav_nav__KxQ9y button{min-height:48px}}@media (prefers-reduced-motion:reduce){.app-nav_nav__KxQ9y button{transition:none}}