:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#111310;--paper-raised:#1b1e19;--ink:#f3f1e9;--ink-soft:#b9bdb2;--ink-faint:#969e8f;--accent:#c9e58b;--accent-ink:#c9e58b;--border:#343a30;--danger:#f2aaa0;--radius:16px;--font-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;margin:0;padding:0}body,#root{min-height:100dvh}#root{flex-direction:column;display:flex}body{line-height:1.5}h1,h2,h3{color:var(--ink);margin:0 0 .5em;font-weight:500;line-height:1.15}h1{font-family:var(--font-serif);letter-spacing:-.045em;max-width:12ch;font-size:clamp(2.5rem,8vw,3.8rem)}h2{font-family:var(--font-serif);letter-spacing:-.025em;font-size:1.55rem}h3{font-size:1.1rem}p{margin:.6em 0 1em}a{color:var(--accent-ink);text-underline-offset:4px}button{font-family:inherit}.app-shell{width:100%;max-width:680px;padding-bottom:calc(104px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:0 24px;padding:24px 0 20px;display:flex}.brand{font-family:var(--font-serif);letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.4rem;display:inline-flex}.brand-mark{border:1px solid var(--accent);width:36px;height:36px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;padding-bottom:5px;font-size:1.5rem;display:inline-flex}.header-context{text-align:right;color:var(--ink-soft);font-size:.75rem}.header-context span{letter-spacing:.12em;margin-top:3px;font-size:.55rem;display:block}.screen{flex:1;min-width:0;padding:28px 24px 24px}.page-heading{margin-bottom:28px}.page-heading p:last-child{margin-bottom:0}.eyebrow{letter-spacing:.14em;color:var(--ink-soft);font-size:.65rem;font-weight:600;line-height:1.6}.page-heading>.eyebrow{color:var(--accent);margin:0 0 14px}.card{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;margin-bottom:18px;padding:22px}.field{flex-direction:column;gap:8px;min-width:0;margin-bottom:16px;display:flex}.field label,.macro-field>span{color:var(--ink-soft);font-size:.8rem}input,textarea,select{border:1px solid var(--border);background:var(--paper);width:100%;max-width:100%;color:var(--ink);border-radius:8px;min-height:48px;padding:12px;font-family:inherit;font-size:1rem}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--ink-faint)}input[type=file]{font-size:.8rem}input::file-selector-button{background:var(--border);color:var(--ink);border:0;border-radius:4px;margin-right:8px;padding:8px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.btn{border:1px solid var(--accent);background:var(--accent);color:#17200d;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px 18px;font-size:.9rem;font-weight:650;text-decoration:none;transition:background-color .16s,transform .16s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{color:var(--ink);border-color:var(--border);background:0 0}.btn.secondary:hover:not(:disabled){border-color:var(--ink-faint);background:#24291f}.btn.danger{color:var(--danger);background:0 0;border-color:#684942}.btn.small{width:auto;min-height:44px;padding:8px 14px;font-size:.8rem}.btn+.btn,.btn+.field{margin-top:12px}.row{gap:10px;display:flex}.row>*{flex:1;min-width:0}.row .btn+.btn{margin-top:0}.row input{width:100%;padding:12px 8px}.muted{color:var(--ink-soft);font-size:.9rem}.faint{color:var(--ink-faint);font-size:.75rem}.accent-text{color:var(--accent)}.error-banner,.notice-banner,.save-confirmation{border:1px solid var(--border);color:var(--ink-soft);border-radius:8px;margin-bottom:18px;padding:14px 16px;font-size:.85rem}.error-banner{color:var(--danger);background:#2c1c18;border-color:#684942}.notice-banner{background:#20251c}.save-confirmation{color:var(--accent);border-color:var(--accent);animation:.35s ease-out saved-in}@keyframes saved-in{0%{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{background:var(--paper);padding-bottom:env(safe-area-inset-bottom);z-index:10;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{border-top:1px solid var(--border);background:var(--paper);width:100%;max-width:680px;padding:6px 12px;display:flex}.bottom-nav a{min-width:0;min-height:64px;color:var(--ink-faint);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 2px;font-size:.65rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--accent);background:#20251a}.bottom-nav .capture-nav svg{color:#17200d;background:var(--accent);border-radius:50%;width:30px;height:30px;margin-top:-4px;padding:5px}.date-selector{justify-content:space-between;align-items:center;gap:10px;margin-bottom:28px;display:flex}.date-selector>div{flex:1;min-width:0}.date-selector strong{display:none}.date-selector input{text-align:center;background:0 0;border:0;padding:8px 4px;font-size:.85rem}.date-selector .btn.small{padding:8px 10px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin:0}.nutrition-panel{border-bottom:1px solid var(--border);margin-bottom:22px;padding:0 0 24px}.protein-number{align-items:center;gap:20px;margin:10px 0 16px;display:flex}.protein-number strong{letter-spacing:-.065em;font-variant-numeric:tabular-nums;font-size:clamp(4.4rem,17vw,6.5rem);font-weight:350;line-height:1.1}.protein-number>span{color:var(--ink-soft);font-size:.8rem}progress{background:var(--border);width:100%;height:5px;accent-color:var(--accent);border:none;border-radius:2px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--border)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.protein-progress{height:8px}.nutrition-panel .faint a{align-items:center;min-height:44px;display:inline-flex}.macro-detail{margin-top:24px;display:flex}.macro-detail>div{border-left:1px solid var(--border);flex-direction:column;flex:1;padding-left:18px;display:flex}.macro-detail>div:first-child{border:0;padding-left:0}.macro-detail strong{font-size:1.4rem;font-weight:450}.macro-detail span{color:var(--ink-faint);font-size:.75rem}.rhythm-panel{background:0 0}.rhythm-panel>progress{margin-top:14px}.rhythm-panel>.section-heading:has(h2){margin-top:24px}.week-trail{justify-content:space-between;gap:4px;margin:20px 0 14px;padding:0;list-style:none;display:flex}.week-trail li{color:var(--ink-faint);flex-direction:column;align-items:center;gap:7px;font-size:.7rem;display:flex}.day-dot{border:1px solid var(--border);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.logged .day-dot{background:var(--accent);color:#17200d;border-color:var(--accent)}.quest{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:.8rem;display:flex}.quest strong{color:var(--accent);white-space:nowrap;font-size:.75rem}summary{cursor:pointer;min-height:48px;color:var(--ink);padding:12px 0;font-size:.9rem}summary .faint{margin-left:6px}details[open]>summary{border-bottom:1px solid var(--border);margin-bottom:12px}.achievements{border-top:1px solid var(--border)}.achievement-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.achievement-grid>div{border:1px solid var(--border);border-radius:8px;padding:14px}.achievement-grid h3{font-family:var(--font-serif);margin-top:6px}.achievement-grid .earned{border-color:#71844f}.earned .eyebrow{color:var(--accent)}.journal-heading{margin:32px 0 18px}.empty-state{text-align:center;border:1px solid var(--border);border-radius:var(--radius);padding:28px 20px}.empty-plate{border:1px solid var(--accent);border-radius:50%;place-items:center;width:90px;height:90px;margin:0 auto 26px;display:grid;transform:rotate(-20deg)}.empty-plate span{border:1px solid var(--border);border-right-color:var(--accent);border-radius:50%;width:66px;height:66px}.empty-state h2{max-width:18ch;margin:12px auto;font-size:1.8rem}.empty-state .btn{max-width:300px;margin-top:10px}.meal-title{font-family:var(--font-serif);margin-top:18px;font-size:1.65rem}.meal-item-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:12px 0;font-size:.9rem;display:flex}.meal-item-row:last-child{border-bottom:none}.meal-item-row>.faint{flex-shrink:0}.tag{border:1px solid var(--border);color:var(--ink-soft);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:.65rem;display:inline-block}.photo-preview{border:1px solid var(--border);border-radius:10px;max-width:100%;margin:12px 0;display:block}.journal-entry .photo-preview{width:100%;height:200px;object-fit:cover!important}.clarification-list{flex-direction:column;gap:10px;display:flex}.totals-strip{text-align:center;justify-content:space-between;gap:8px;display:flex}.totals-strip div{flex:1}.totals-strip .value{font-size:1.4rem;display:block}.check{align-items:center;gap:12px;min-height:44px;margin-bottom:12px;font-size:.85rem;display:flex}.check input{width:24px;min-height:24px;accent-color:var(--accent);flex-shrink:0}.report-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.report-row .btn+.btn{margin-top:0}.capture-screen .capture-options{gap:10px;margin-bottom:8px;display:flex}.capture-screen .capture-options .btn{flex:1;min-height:56px;padding:14px 8px}.capture-screen .capture-options .btn+.btn{margin:0}.capture-screen .capture-photo-hint{margin:0 0 16px}.capture-screen .capture-photo{margin-bottom:16px}.capture-screen .capture-identify>.btn:first-child{flex:2}.capture-screen .capture-reidentify{margin-top:12px}.capture-screen .capture-questions{border-left:3px solid var(--accent)}.capture-screen .capture-memory{border-top:1px solid var(--border);margin-top:16px}.capture-screen .memory-chips{flex-wrap:wrap;gap:8px;display:flex}.capture-screen .memory-chip{text-align:left;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:2px;width:auto;max-width:100%;min-height:52px;padding:8px 14px}.capture-screen .memory-chip+.memory-chip{margin-top:0}.capture-screen .capture-library-link{align-items:center;min-height:44px;display:inline-flex}.disclosure.card{padding-block:8px}.macro-field{flex-direction:column;gap:6px;display:flex}.macro-field>span{font-size:.7rem}.manual-entry{border-top:1px solid var(--border);margin-top:16px}.chart-columns{gap:14px;height:220px;margin-top:28px;display:flex}.chart-column{flex-direction:column;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.chart-value{font-size:.8rem}.chart-track{border-bottom:1px solid var(--border);flex:1;align-items:end;width:100%;max-width:32px;display:flex}.chart-bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%}.chart-gap{border-bottom:1px dashed var(--ink-faint);width:100%}.body-form{margin-top:24px}.body-record{border-left:2px solid var(--ink-faint);border-radius:0 16px 16px 0;margin-left:8px}.body-record h3{font-family:var(--font-serif);font-size:1.6rem}.body-metric{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.body-metric span{color:var(--ink-soft);font-size:.8rem}.body-metric strong{font-size:1.6rem;font-weight:400}.share-preview{border:1px solid var(--border);border-top:2px solid var(--accent);background:var(--paper-raised);margin:24px 0;padding:24px}.share-preview .section-heading{flex-wrap:wrap;margin-bottom:24px}.share-preview textarea{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:16px 0;font-size:.9rem}.settings-screen .card>h3{font-family:var(--font-serif);font-size:1.5rem}.settings-screen .card>p{color:var(--ink-soft);font-size:.85rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=380px){.screen{padding-inline:16px}.app-header{margin-inline:16px}.card{padding:16px}.row{gap:6px}.row .macro-field>span{font-size:.6rem}.date-selector{gap:4px}.day-dot{width:28px;height:28px}.share-preview{padding:16px}.chart-columns{gap:10px}.section-heading>.faint{font-size:.65rem}}@media (width>=760px){.app-shell{border-inline:1px solid #24281f}.screen{padding-inline:36px}.app-header{margin-inline:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand-logo{width:42px;height:42px;display:block}.brand{letter-spacing:-.055em;font-weight:650}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}fieldset.card{min-width:0}fieldset.card legend{padding:0 8px;font-size:1.15rem;font-weight:600}.field{flex-direction:column;gap:8px;margin:16px 0;display:flex}.check,summary,.btn,select{min-height:44px}summary{cursor:pointer;align-content:center}.diary-quicklinks{flex-wrap:wrap;gap:4px 18px;margin:12px 0 20px;display:flex}.diary-quicklinks a{min-height:44px;color:var(--muted);text-underline-offset:5px;align-items:center;font-size:.88rem;display:inline-flex}
