:root{font-family:Arial,Helvetica,sans-serif;color-scheme:dark;--bg:#111613;--panel:#1c231e;--ink:#f4f5ee;--muted:#b6c0b7;--lime:#cef65a;--line:#3c483e;--danger:#ffb4ad;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:var(--lime);text-underline-offset:4px}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:4px}[hidden]{display:none!important}.app-shell{max-width:1180px;margin:auto;padding:0 32px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0 24px}.wordmark{display:flex;align-items:baseline;gap:12px;text-decoration:none;color:var(--ink)}.wordmark>span{font-size:44px;font-weight:900;letter-spacing:-3px;line-height:1}.wordmark small{font-size:13px;letter-spacing:2px;font-weight:700}.lime{color:var(--lime)}.header-actions{display:flex;align-items:center;gap:18px}.local-badge{font-size:14px;color:var(--muted)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:30px}.tabs button{padding:16px 3px;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font-weight:700;min-height:48px}.tabs button[aria-current=page]{border-color:var(--lime);color:var(--lime)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:30px 0 24px}.eyebrow{color:var(--lime);font-size:12px;letter-spacing:1.7px;font-weight:700;margin:0 0 10px}h1{font-size:clamp(30px,4vw,46px);letter-spacing:-1.5px;margin:0;line-height:1.05}h2{font-size:21px;letter-spacing:-.35px;margin:0 0 20px}h3{font-size:17px;margin:0 0 14px}p{line-height:1.55}.heading-note{font-size:14px;color:var(--muted);margin:0;max-width:250px}.tracker-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading h2{margin:0}.tag{font-size:12px;padding:6px 9px;background:#2f3a30;border-radius:6px;color:var(--muted)}label{display:block;font-size:14px;font-weight:700;margin-bottom:18px;line-height:1.45}input,select,textarea{display:block;width:100%;margin-top:7px;background:#111713;border:1px solid #526152;border-radius:7px;color:var(--ink);padding:12px;min-height:46px}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#909e93;opacity:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-size:12px;font-weight:400;color:var(--muted)}.primary,.subtle,.file-button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-weight:700;text-decoration:none;min-height:44px;padding:11px 15px;line-height:1.35}.primary{border:1px solid var(--lime);color:var(--bg);background:var(--lime)}.primary:hover{background:#e0ff92}.subtle{border:1px solid #526152;background:transparent;color:var(--ink)}.subtle:hover,.icon-button:hover{background:#2d382e}.danger{color:var(--danger);border-color:#80615e}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.helper{font-size:13px;line-height:1.55;color:var(--muted);margin:14px 0 0}.habits{border:0;border-top:1px solid var(--line);padding:15px 0 18px;margin:20px 0 0;min-width:0}.habits legend{font-size:14px;font-weight:700;padding:0 10px 0 0}.check{display:flex;align-items:start;gap:11px;font-weight:400;font-size:14px;margin:10px 0}.check input{width:21px;height:21px;min-height:21px;margin:0;accent-color:var(--lime);flex-shrink:0}.exercise-details{border-block:1px solid var(--line);padding:14px 0}.exercise-details summary{font-size:14px;cursor:pointer}.exercise-row{display:grid;grid-template-columns:1.4fr 1fr auto;gap:8px;align-items:start;margin-top:14px}.exercise-row label{margin:0;font-size:14px}.exercise-row button{margin-top:23px}.icon-button{height:44px;width:44px;border:1px solid #526152;border-radius:7px;font-size:25px;background:transparent;color:var(--ink);flex-shrink:0}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 25px}.month-nav h3{margin:0;font-size:20px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays{text-align:center;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:12px}.day{background:#151d17;border:1px solid #3d4c40;color:var(--ink);border-radius:8px;min-height:58px;position:relative;padding:8px 1px 18px;font-size:16px}.day .dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:4px}.day:hover{border-color:var(--lime)}.day[aria-pressed=true]{background:var(--lime);color:var(--bg);border-color:var(--lime);font-weight:700}.day.is-today{outline:2px solid #7e9970;outline-offset:1px}.day .dots i,.legend i{width:7px;height:7px;display:inline-block;border-radius:50%;flex-shrink:0}.strength{background:#c9ee5e}.cardio{background:#77d8e6}.recovery{background:#cab2fc}.rest{background:#b6c0b7}.other{background:#f7c58d}.day[aria-pressed=true] .dots i{outline:1px solid #111613}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);margin:24px 0 0}.legend span{display:flex;align-items:center;gap:6px}.calendar-foot{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.calendar-foot p{color:var(--muted);font-size:14px;margin-bottom:0}.app-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;font-size:12px;color:var(--muted);padding:28px 0 24px}.app-footer a{color:var(--muted)}.timer-panel{text-align:center;max-width:760px;margin:auto;padding:36px}.preset-buttons,.timer-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.preset-buttons button{padding:12px 20px;background:#111713;border:1px solid #526152;border-radius:7px;color:var(--ink);font-weight:700;min-height:44px}.preset-buttons button[aria-pressed=true]{background:var(--lime);color:var(--bg);border-color:var(--lime)}.timer-display{font-size:clamp(64px,13vw,110px);letter-spacing:-4px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums;margin:35px 0 10px}.muted{color:var(--muted)}.timer-actions{margin:24px 0 32px}.rest-timer{padding-top:24px;border-top:1px solid var(--line)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.stat span{font-size:14px;color:var(--muted)}.stat strong{display:block;font-size:44px;margin-top:14px;color:var(--lime)}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.history-panel,.resources{margin-top:24px}.week-bars{display:flex;align-items:end;justify-content:space-between;gap:10px;height:210px;padding-top:10px}.bar-column{flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;gap:9px;height:100%;font-size:12px;color:var(--muted)}.bar{width:min(32px,80%);min-height:3px;border-radius:5px 5px 0 0;background:var(--lime)}.bar-label{color:var(--ink)}.history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;color:var(--ink);background:none;border:0;border-top:1px solid var(--line);padding:17px 0;font-size:14px}.history-row>span:first-child{max-width:65%;overflow-wrap:anywhere}.history-row small{display:block;color:var(--muted);margin-top:7px;font-size:12px}.history-row:hover{color:var(--lime)}.backup-actions{display:flex;gap:12px;flex-wrap:wrap}.file-button{border:1px solid #526152;cursor:pointer;font-size:14px;margin:0;position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.file-button:focus-within{outline:3px solid var(--lime);outline-offset:4px}#erase{margin-top:24px}.resources>div{display:flex;gap:14px 24px;flex-wrap:wrap}.resources a{font-size:14px}.alert{padding:15px;background:#4b2c25;border:1px solid #bd8574;border-radius:8px}.toast:empty{display:none}.toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);margin:0;padding:13px 20px;background:var(--lime);color:var(--bg);border-radius:9px;box-shadow:0 4px 25px #0008;max-width:calc(100% - 30px);font-size:14px;font-weight:700;pointer-events:none}.skip{position:fixed;top:12px;left:12px;background:var(--lime);color:var(--bg);padding:15px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:none}dialog{color:var(--ink);background:var(--panel);border:1px solid #566755;border-radius:14px;max-width:550px;width:calc(100% - 32px);padding:26px;box-shadow:0 8px 40px #0008}dialog::backdrop{background:#000a}.dialog-head{display:flex;align-items:start;gap:20px;justify-content:space-between}.dialog-head h2{line-height:1.4}.privacy-copy{max-width:800px;margin:30px auto}.privacy-copy h2{margin-top:28px}.privacy-copy h1{margin-bottom:25px}.privacy-copy p{color:var(--muted)}
@media(max-width:800px){.app-shell{padding:0 20px}.tracker-grid,.progress-grid{grid-template-columns:1fr}.calendar-panel{grid-row:1}.heading-note{display:none}.panel{padding:21px}.calendar-grid{gap:8px}.day{min-height:55px}.stat-grid{gap:10px}.stat{padding:18px 12px}.stat span{font-size:13px}.stat strong{font-size:36px}.header-actions{gap:8px}.local-badge{display:none}.wordmark>span{font-size:37px}.wordmark small{font-size:12px}.tabs{gap:0;justify-content:space-between}.tabs button{font-size:14px;padding-inline:5px}.app-footer{justify-content:start}.section-heading{margin:26px 0 22px}.timer-panel{padding:24px 18px}}@media(max-width:390px){.app-shell{padding:0 14px}.panel{padding:17px}.form-grid{grid-template-columns:1fr;gap:0}.calendar-grid{gap:5px}.day{min-height:48px}.wordmark{gap:7px}.wordmark small{font-size:11px;letter-spacing:1px}.header-actions .subtle{font-size:13px;padding:10px}.exercise-row{grid-template-columns:1fr 1fr 34px}.exercise-row .icon-button{width:34px}.timer-display{letter-spacing:-2px}.stat span{font-size:12px}}
.library-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.exercise-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-block:18px;max-height:540px;overflow:auto;padding:2px 6px 6px 2px;overscroll-behavior:contain}.exercise-card{border:1px solid var(--line);padding:16px;background:#141c16;border-radius:9px}.exercise-card h3{font-size:16px;line-height:1.4;margin:0 0 8px}.exercise-card p{font-size:13px;color:var(--muted);margin:0 0 12px}.exercise-card button{font-size:14px;padding:9px 12px}.routine-item{border-top:1px solid var(--line);padding:17px 0}.routine-item strong{display:block;font-size:15px;line-height:1.4;margin-bottom:14px}.routine-item label{font-size:14px;margin-bottom:10px}.routine-item button{font-size:14px;min-height:36px;padding:8px 10px}.routine-bottom{margin-top:20px}.routine-use{display:flex;align-items:end;gap:12px;margin-block:18px}.routine-use label{flex:1;margin:0}.routine-use button{margin-bottom:0;font-size:13px;min-height:46px}#picker-dialog{max-width:620px;max-height:calc(100dvh - 32px);overflow:auto}#picker-results{max-height:38dvh}#custom-dialog .form-actions{margin-top:22px}.routine-panel{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto}.tabs{gap:20px}.tabs button{white-space:nowrap}@media(max-width:800px){.library-layout{grid-template-columns:1fr}.routine-panel{position:static;max-height:none}.tabs{gap:4px}.tabs button{font-size:13px}.exercise-cards{max-height:430px}.section-heading{align-items:start;flex-wrap:wrap}.routine-use{flex-wrap:wrap}}@media(max-width:390px){.tabs{gap:0}.tabs button{padding-inline:2px;font-size:12px}.routine-use{display:block}.routine-use button{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.tabs,.header-actions,.app-footer,.form-actions,.month-nav button,.toast{display:none}.panel{break-inside:avoid}body{color:#111;background:white}.app-shell{max-width:none}.panel{background:white;color:#111;border-color:#999}}
/* Food diary extends the existing ink/lime working surface. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tabs{overflow-x:auto;justify-content:flex-start;gap:24px}.tabs button{flex-shrink:0;font-size:14px;padding-inline:4px}
.food-date-bar{display:flex;gap:14px;align-items:center;margin-bottom:22px}.food-date-bar label{margin:0;max-width:220px}.food-date-bar button{margin-top:26px}.food-date-bar p{margin:24px 0 0;font-size:14px}
.nutrition-summary{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:16px}.nutrition-stat{display:flex;flex-direction:column;gap:8px;min-width:0}.nutrition-stat span{font-size:14px;color:var(--muted)}.nutrition-stat strong{font-size:clamp(30px,4vw,46px);line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.nutrition-stat small{font-size:13px;color:var(--muted)}.calories-stat{border-color:#829d40}.calories-stat strong{color:var(--lime)}
.food-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start;margin-top:24px}.food-layout>*,.food-library-column{min-width:0}.food-library-column{display:grid;gap:24px}.meal-group+.meal-group{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.meal-group .panel-heading{margin-bottom:12px}.meal-group h2{font-size:18px}.food-row{padding:16px 0;display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid #344037}.food-row:last-child{border-bottom:0}.food-row>div:first-child{min-width:0;flex:1}.food-row h3,.food-card h3{font-size:16px;line-height:1.4;overflow-wrap:anywhere;margin:0 0 4px}.food-row p,.food-card p{margin:7px 0}.food-macros{font-size:14px;line-height:1.55;color:var(--ink);font-variant-numeric:tabular-nums}.food-row-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.food-row-actions button{font-size:14px;min-height:40px;padding:8px 12px}
.food-cards{display:grid;gap:12px;max-height:370px;overflow:auto;overscroll-behavior:contain;margin-top:14px;padding:2px 5px 6px 2px}.food-card{padding:16px;border:1px solid var(--line);border-radius:8px;background:#141c16;min-width:0}.food-card .form-actions{margin-top:14px;gap:8px}.food-card button{font-size:14px;padding:8px 11px;min-height:40px}.food-card>a{display:block;margin-top:12px}
#food-picker-dialog,#meal-editor-dialog{max-width:700px}#food-picker-dialog,#food-editor-dialog,#food-portion-dialog,#meal-editor-dialog{max-height:calc(100dvh - 32px);overflow:auto}#food-picker-dialog .food-cards{max-height:300px}#food-picker-dialog .food-search-controls{display:flex;align-items:end;gap:14px}.food-search-controls label{flex:1;margin:0}.food-search-controls button{margin-bottom:0}.food-search-section{margin:24px 0}.food-search-section h3{margin-bottom:10px}
.nutrition-fields{border:1px solid var(--line);border-radius:8px;padding:18px;margin:0}.nutrition-fields legend{font-size:14px;font-weight:700;padding:0 8px}.nutrition-fields label{margin-bottom:12px}#food-editor-form .form-actions,#food-portion-form .form-actions{margin-top:24px}.portion-preview,.meal-total{padding:16px;background:#111713;border:1px solid #53633b;border-radius:8px;font-size:15px;line-height:1.55;margin:22px 0}.ingredient-row{display:grid;grid-template-columns:1fr 135px auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.ingredient-row>div{min-width:0}.ingredient-row strong{font-size:15px;overflow-wrap:anywhere}.ingredient-row label{margin:0;font-size:14px}.ingredient-row button{font-size:14px;min-height:42px}.meal-total strong{font-size:15px}
@media(max-width:800px){.food-layout{grid-template-columns:1fr}.nutrition-summary{gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.nutrition-stat{padding:16px 12px}.nutrition-stat span{font-size:14px;min-height:40px}.nutrition-stat strong{font-size:30px}.food-date-bar{flex-wrap:wrap}.food-date-bar p{flex-basis:100%;margin:0}.food-layout .panel-heading{flex-wrap:wrap}.tabs{gap:22px}.tabs button{font-size:14px}.food-row{gap:12px}}
@media(max-width:500px){.nutrition-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-stat span{min-height:0}.food-row{flex-wrap:wrap}.food-row-actions{flex-direction:row;flex-wrap:wrap}.ingredient-row{grid-template-columns:1fr 110px}.ingredient-row>button{grid-column:1/-1;justify-self:start}.food-search-controls{flex-wrap:wrap}.food-search-controls label{min-width:180px}.food-search-controls button{width:100%}#meal-editor-dialog,#food-editor-dialog,#food-picker-dialog,#food-portion-dialog{padding:20px}}
.water-panel{margin-top:24px}.water-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.water-heading h2{margin:0}.water-total{display:flex;align-items:baseline;justify-content:end;flex-wrap:wrap;gap:8px 12px;text-align:right;max-width:55%}.water-total strong{font-size:40px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--lime);overflow-wrap:anywhere}.water-total>span{font-size:16px;color:var(--muted)}.water-total small{flex-basis:100%;font-size:14px;color:var(--muted)}.water-controls{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:end}.water-quick{display:flex;gap:10px;flex-wrap:wrap}.water-quick button{flex:1;white-space:nowrap;font-size:14px}.water-controls form{display:grid;grid-template-columns:1fr 100px auto;gap:12px;align-items:end}.water-controls label{margin:0}.water-controls form button{min-height:46px}.water-history{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-top:18px}.water-history p{margin:0;overflow-wrap:anywhere;max-height:100px;overflow:auto}.water-history button{flex-shrink:0;font-size:14px}
@media(max-width:900px){.water-controls{grid-template-columns:1fr;gap:18px}.water-controls form{grid-template-columns:1fr 100px auto}}@media(max-width:500px){.water-total strong{font-size:34px}.water-total{max-width:54%;gap:6px}.water-controls form{grid-template-columns:1fr 105px}.water-controls form button{grid-column:1/-1}.water-history{flex-wrap:wrap;gap:14px}.water-quick button{padding:11px 8px}}
