:root{color-scheme:light dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--bg: #f2f0e9;--panel: #fbfaf6;--panel-strong: #ffffff;--ink: #17231d;--muted: #657068;--line: #d2d7d0;--accent: #176a4a;--accent-strong: #0e5539;--accent-soft: #dcebe3;--gold: #d9a923;--danger: #a23a32;--shadow: 0 12px 32px rgb(28 44 35 / 8%)}:root[data-theme=dark]{--bg: #101612;--panel: #17201b;--panel-strong: #1d2922;--ink: #edf2ee;--muted: #a9b4ac;--line: #36443b;--accent: #78c7a1;--accent-strong: #9ad9b9;--accent-soft: #253d31;--gold: #efc75c;--danger: #f08b81;--shadow: 0 12px 32px rgb(0 0 0 / 24%)}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #101612;--panel: #17201b;--panel-strong: #1d2922;--ink: #edf2ee;--muted: #a9b4ac;--line: #36443b;--accent: #78c7a1;--accent-strong: #9ad9b9;--accent-soft: #253d31;--gold: #efc75c;--danger: #f08b81;--shadow: 0 12px 32px rgb(0 0 0 / 24%)}}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}button,a,summary,input,textarea{-webkit-tap-highlight-color:transparent}button,.upload-button{min-height:44px}button{border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);color:var(--ink);cursor:pointer;font-weight:700}button:disabled{cursor:not-allowed;opacity:.42}button:hover:not(:disabled){border-color:var(--accent)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,8vw,2.65rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:10px}h2{font-size:1.35rem;letter-spacing:-.025em}h3{font-size:1.02rem}p,li{line-height:1.52}a{color:inherit}.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}.eyebrow{margin-bottom:6px;color:var(--accent);font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.muted,.page-title p{color:var(--muted)}.primary-button,.complete-button{min-height:50px;border-color:var(--accent-strong);background:var(--accent-strong);color:#fff;padding:12px 18px}:root[data-theme=dark] .primary-button,:root[data-theme=dark] .complete-button{color:#102218}.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;text-decoration:none}.text-button{min-height:36px;border:0;background:transparent;padding:6px 0}.danger-text{color:var(--danger)}.danger-button{border-color:var(--danger);color:var(--danger)}.inline-note{padding:10px 12px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent);color:var(--ink)}.lock-screen{min-height:100vh;display:grid;place-items:center;padding:22px}.lock-panel{width:min(100%,410px);padding:28px 24px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.lock-mark{display:grid;gap:5px;width:42px;margin-bottom:26px}.lock-mark span{height:7px;background:var(--accent)}.lock-mark span:nth-child(2){width:68%;background:var(--gold)}.lock-form{display:grid;gap:8px;margin-top:22px}.lock-form label{margin-top:6px;font-weight:750}.lock-form input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);color:var(--ink);padding:10px 14px;font-size:1.15rem;letter-spacing:.22em}.lock-form .primary-button{margin-top:10px}.form-message{margin:4px 0;color:var(--danger)}.privacy-note{margin:26px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.app-shell{min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-header{position:sticky;z-index:30;top:0;min-height:56px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:env(safe-area-inset-top) 16px 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header strong{font-size:.9rem}.hub-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--muted);font-size:.8rem;font-weight:750;text-decoration:none}.header-button{justify-self:end;min-height:34px;padding:4px 10px;background:transparent;font-size:.78rem}.sync-status{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.68rem;font-weight:750;white-space:nowrap}.sync-status:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.sync-synced{color:var(--accent)}.sync-saving,.sync-connecting{color:var(--gold)}.sync-error{color:var(--danger)}.screen{width:min(100%,760px);margin:0 auto;padding:24px 16px 30px}.screen-stack{display:grid;gap:22px}.page-title{padding:12px 2px 4px}.page-title p{max-width:620px}.day-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.day-heading h1{margin:0;font-size:clamp(1.55rem,7vw,2.2rem)}.day-switcher{display:flex;align-items:center;gap:7px}.day-switcher button{width:44px;padding:0}.day-switcher span{min-width:36px;color:var(--muted);text-align:center;font-size:.78rem}.phase-banner,.weather-note,.settings-message{margin:0;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--gold);background:var(--panel)}.next-action{position:sticky;z-index:10;top:calc(68px + env(safe-area-inset-top));padding:18px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:8px;background:var(--panel-strong);box-shadow:var(--shadow)}.next-action h2{margin-bottom:6px;font-size:1.55rem}.next-action>p:not(.eyebrow){color:var(--muted)}.next-action .primary-button{width:100%}.progress-line{height:5px;margin:-18px -18px 10px;overflow:hidden;border-radius:8px 8px 0 0;background:var(--accent-soft)}.progress-line span{display:block;height:100%;background:var(--accent);transition:width .18s ease}.next-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:18px;color:var(--muted);font-size:.74rem;font-weight:750}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.section-heading h2{margin-bottom:0}.task-list{display:grid;gap:10px;margin-top:12px}.task-card{padding:16px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:7px;background:var(--panel);scroll-margin-top:140px}.task-card.status-completed{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel))}.task-card.status-partial{border-left-color:var(--gold)}.task-card.status-skipped{border-left-color:var(--muted);opacity:.78}.task-card h3{margin:12px 0 5px;font-size:1.08rem}.task-summary{margin-bottom:12px;color:var(--muted)}.task-topline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:var(--muted);font-size:.69rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.task-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-label{color:var(--accent)}.task-details,.alternative,.note-control{border-top:1px solid var(--line)}.task-details summary,.alternative summary,.note-control summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--ink);font-weight:750}.task-details ul,.alternative ul{margin:0 0 14px;padding-left:21px}.task-details li,.alternative li{margin-bottom:5px}.alternative{border-left:3px solid var(--gold);padding-left:10px}.alternative .secondary-button{margin-bottom:12px}.task-actions,.button-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.task-actions button{flex:1 1 120px;padding:9px 10px}.undo-button{min-height:38px;margin:7px 0;border:0;background:transparent;color:var(--accent);padding:4px 0}.note-control textarea{width:100%;min-height:76px;resize:vertical;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong);color:var(--ink);padding:10px}.number-entry{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:8px;margin:14px 0}.number-entry label{display:grid;gap:4px;color:var(--muted);font-size:.76rem;font-weight:750}.number-entry input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong);color:var(--ink);padding:8px;font-size:1rem}.number-entry span{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:.8rem}.number-entry button{padding:8px 13px}.rules-list{display:grid;gap:2px;margin:12px 0}.rules-list label,.grocery-group label{min-height:44px;display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.rules-list input,.grocery-group input{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}.rules-list input:checked+span,.grocery-group input:checked+span{color:var(--muted);text-decoration:line-through}.photo-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.photo-slot{min-width:0;display:grid;gap:7px;align-content:start;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong)}.photo-slot>span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.photo-slot img,.photo-placeholder{width:100%;aspect-ratio:3 / 4;border-radius:4px;background:var(--accent-soft);object-fit:cover}.photo-placeholder{display:grid;place-items:center;color:var(--accent);font-size:2rem}.upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--panel-strong);padding:8px 11px;cursor:pointer;font-weight:750}.upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.hunger-card{border-color:var(--gold)}.plan-list{display:grid;gap:9px}.plan-day,.reference-card,.content-panel,.settings-panel{border:1px solid var(--line);border-radius:7px;background:var(--panel)}.plan-day>summary{min-height:72px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.plan-day>summary::-webkit-details-marker{display:none}.plan-day summary small{display:block;margin-top:4px;color:var(--muted);font-weight:500}.plan-day summary>b{color:var(--accent)}.day-number{font-size:1.35rem;font-weight:900}.day-task-summary{margin:0;padding:0 14px 14px;list-style:none}.day-task-summary li{display:grid;grid-template-columns:68px 1fr auto;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.83rem}.day-task-summary time,.day-task-summary em{color:var(--muted);font-style:normal;font-size:.72rem}.inline-link{margin:0 14px 14px}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.metric{padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.metric span{display:block;margin-bottom:6px;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase}.metric strong{font-size:1.35rem}.content-panel,.settings-panel{padding:16px}.weight-chart{display:block;width:100%;max-height:240px;margin-top:10px}.weight-chart .chart-grid{stroke:var(--line);stroke-width:1}.weight-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.weight-chart circle{fill:var(--panel-strong);stroke:var(--accent);stroke-width:3}.weight-chart text{fill:var(--muted);font-size:10px;text-anchor:middle}.empty-chart{min-height:150px;display:grid;place-items:center;color:var(--muted);text-align:center}.progress-entries{display:grid}.progress-entry{display:grid;grid-template-columns:58px 1fr 1fr;align-items:end;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.progress-entry>strong{align-self:center}.progress-entry label{display:grid;gap:4px;color:var(--muted);font-size:.7rem}.progress-entry input{min-width:0;width:100%;min-height:42px;border:1px solid var(--line);border-radius:4px;background:var(--panel-strong);color:var(--ink);padding:7px}.photo-day+.photo-day{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.reference-card{padding:0 15px}.reference-card>summary{min-height:58px;display:flex;align-items:center;cursor:pointer;font-size:1.02rem;font-weight:850}.reference-card ul,.reference-card ol{margin-top:0;padding-left:22px}.reference-card li{margin-bottom:9px}.grocery-group{margin-bottom:22px}.grocery-group h3{margin:8px 0 4px;color:var(--accent)}.settings-panel h2{margin-bottom:6px}.settings-panel>p{color:var(--muted)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden}.segmented button{border:0;border-radius:0;background:transparent;text-transform:capitalize}.segmented button+button{border-left:1px solid var(--line)}.segmented .active{background:var(--accent);color:#fff}.toggle-list{display:grid;margin-top:14px}.toggle-list label{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);text-transform:capitalize}.toggle-list input{width:22px;height:22px;accent-color:var(--accent)}.pin-change{display:grid;gap:10px}.pin-change label{display:grid;gap:5px;font-size:.78rem;font-weight:750}.pin-change input{min-height:44px;border:1px solid var(--line);border-radius:5px;background:var(--panel-strong);color:var(--ink);padding:9px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}.bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:6px max(6px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav a{min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:5px;color:var(--muted);font-size:.62rem;font-weight:700;text-decoration:none}.bottom-nav b{font-size:.9rem}.bottom-nav a.active{background:var(--accent-soft);color:var(--accent-strong)}@media(min-width:620px){.screen{padding-inline:24px}.metric-grid{grid-template-columns:repeat(4,1fr)}.progress-entry{grid-template-columns:70px 160px 160px}.photo-slots{max-width:500px}}@media(max-width:360px){.hub-link span{display:none}.app-header{padding-inline:10px;gap:6px}.app-header>strong{display:none}.screen{padding-inline:10px}.next-action{padding:15px}.progress-line{margin:-15px -15px 10px}.task-card{padding:13px}.bottom-nav a{font-size:.58rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
