:root{--cream:#f9f7f2;--blue:#5b6c9d;--gold:#c5a059;--green:#4a7a5e;--ink:#24262c;--muted:#747780;--line:#e8e5de;--red:#a83737}
*{box-sizing:border-box}body{margin:0;background:#eae9e5;color:var(--ink);font:14px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font:600 30px/1.2 Georgia,serif}h2{font-size:16px;line-height:1.4;margin-bottom:8px}h3{font-size:14px}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.app-shell{max-width:960px;height:100dvh;margin:auto;display:flex;flex-direction:column;background:var(--cream);box-shadow:0 0 70px #24262c09}.app-header{padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);flex-shrink:0}.brand{text-decoration:none;color:var(--ink)}.brand .eyebrow{display:block;color:#9b804c;font-size:9px;margin-bottom:4px}.brand-line{font:700 26px/1.1 Georgia,serif;display:flex;align-items:center;gap:9px}.avatar{width:40px;height:40px;border-radius:50%;border:1px solid #c5a05960;color:#725c38;background:#f4efe6;font-weight:700;font-size:13px}main{padding:25px 28px 32px;overflow-y:auto;flex:1;min-height:0;scroll-behavior:smooth}.eyebrow{color:var(--gold);font-size:10px;font-weight:750;letter-spacing:.13em}.screen-heading{margin-bottom:23px}.screen-heading h1{margin:7px 0 8px}.screen-heading>p:last-child{font-size:13px;color:var(--muted)}.heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.date-caption{font-size:12px;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:0 6px 20px #24262c02}.muted{color:var(--muted);font-size:12px;line-height:1.7}.small{font-size:11px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.grid .card{margin:0}.stat-icon{width:37px;height:37px;border-radius:12px;background:#5b6c9d10;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.stat-icon.meal{color:var(--gold);background:#c5a05915}.stat-icon.sleep{color:var(--green);background:#4a7a5e12}.stat-value{font:600 27px/1.25 Georgia,serif;overflow-wrap:anywhere}.stat-value .unit{font:12px Inter,system-ui,sans-serif;color:var(--muted)}.stat-label{font-size:11px;font-weight:650;margin-top:5px}.stat-detail{font-size:11px;color:var(--muted);margin:7px 0;min-height:18px}.goal-track{height:5px;border-radius:8px;background:#eee;overflow:hidden;margin-top:12px}.goal-track>span{height:100%;display:block;background:var(--blue);border-radius:8px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.quick-actions button{display:flex;align-items:center;gap:7px;justify-content:center;min-height:44px;flex:1;white-space:nowrap}.quick-actions svg{width:18px;height:18px}.primary,.secondary,.danger{border-radius:11px;padding:11px 15px;min-height:44px;font-size:12px;font-weight:650;border:1px solid transparent}.primary{background:var(--blue);color:#fff}.secondary{background:var(--cream);color:var(--ink);border-color:var(--line)}.danger{background:#fff2f1;color:var(--red);border-color:#f0d3d0}.text-button{background:none;color:var(--blue);border:0;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:40px;font-size:12px}.button-stack{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.button-stack>*{flex:1;text-align:center}.file-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.notice{background:#eef1f8;border:1px solid #5b6c9d30;border-radius:13px;padding:15px;font-size:12px;margin-bottom:16px;line-height:1.7}.notice .text-button{margin-right:12px}.notice.error,.form-error{background:#fff1ef;color:#8f2929;border:1px solid #e7c7c2;padding:12px;border-radius:10px;font-size:12px;margin:12px 0}.empty{padding:26px 12px;text-align:center;color:var(--muted);font-size:12px}.empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:7px}.streak-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f4efe6;border-color:#c5a05940}.streak-count{font:600 38px Georgia,serif;color:#846c3b}.milestone{display:inline-block;padding:3px 8px;border:1px solid #c5a05965;border-radius:99px;color:#80652f;font-size:10px;margin:7px 5px 0 0}.section-heading{font-size:15px;margin:22px 0 12px}.entry-row{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--line);align-items:flex-start}.entry-row:first-child{border:0;padding-top:0}.entry-row:last-child{padding-bottom:0}.entry-info{flex:1;min-width:0}.entry-info h3{overflow-wrap:anywhere}.entry-info p{font-size:11px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.row-actions{display:flex;gap:5px;flex-shrink:0}.row-actions button{font-size:10px;min-height:36px;padding:7px 8px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--blue)}.row-actions button[data-action=delete]{color:var(--red)}.log-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.log-controls label{max-width:230px;margin:0}.record-type{color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;margin-bottom:4px}label{display:block;font-size:11px;font-weight:650;margin:14px 0 6px}input:not([type=file]),select,textarea{display:block;width:100%;padding:11px;border:1px solid #d9d8df;border-radius:10px;background:#fff;color:var(--ink);margin-top:6px;min-height:44px;font-weight:400;font-size:13px}textarea{min-height:82px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}form>.primary{margin-top:18px;width:100%}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.caremu-about-card{border-radius:18px}.caremu-team-list strong{font-size:14px}.caremu-release-card{border-radius:18px}.prototype-card{background:#f4f3f1}.segmented{display:flex;background:#eeece6;padding:4px;border-radius:11px;gap:4px}.segmented button{border:0;background:transparent;border-radius:8px;padding:8px 10px;font-size:11px;color:var(--muted)}.segmented button[aria-pressed=true]{background:#fff;color:var(--blue);box-shadow:0 2px 4px #00000008}.progress-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:16px 0 8px}.progress-days button{background:#f6f5f2;border:1px solid var(--line);border-radius:9px;min-height:62px;color:var(--muted);font-size:9px;padding:8px 2px}.progress-days button.has-entries{background:#edf1f8;border-color:#5b6c9d33;color:var(--blue)}.progress-days strong{font-size:12px;display:block;margin-top:6px}.summary-strip{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}.summary-strip strong{font:600 22px Georgia,serif;display:block;color:var(--ink)}.summary-strip span{font-size:10px;color:var(--muted)}.history-day{width:100%;border:0;border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;gap:12px;text-align:left;background:#fff;font-size:12px}.history-day span{color:var(--muted);font-size:11px}.bottom-nav{display:flex;flex-shrink:0;border-top:1px solid var(--line);background:#fbfaf7;padding:9px 12px max(10px,env(safe-area-inset-bottom));gap:6px}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:50px;border:0;border-radius:12px;color:#96989d;background:none;font-size:10px}.bottom-nav svg{margin-top:4px}.bottom-nav button[aria-current=page]{background:#5b6c9d0c;color:var(--blue);font-weight:750}.toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);z-index:80;display:flex;align-items:center;gap:12px;border-radius:13px;background:#283447;color:white;box-shadow:0 8px 25px #0003;padding:12px 15px;font-size:12px}.toast button{border:0;background:none;color:#ffe4a2;min-height:34px;font-size:12px;font-weight:650}.toast #dismissToast{color:#fff;font-size:20px}dialog{border:1px solid var(--line);padding:24px;border-radius:20px;background:#fff;color:var(--ink);max-width:480px;width:calc(100% - 28px);max-height:90dvh;overflow-y:auto;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#23293499;backdrop-filter:blur(3px)}dialog h2{font:600 25px Georgia,serif;margin:5px 0 8px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.close-button{border:0;background:#f1f0ec;border-radius:50%;width:34px;height:34px;font-size:20px;color:var(--muted)}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions>*{flex:1}.nutrition-fields{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.nutrition-fields summary{font-size:12px;color:var(--blue);cursor:pointer;padding:5px 0;min-height:36px}.review-row{border-top:1px solid var(--line);padding:12px 0}.review-row .secondary{margin-top:9px}.review-raw{font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f5f2;padding:10px;border-radius:8px;max-height:120px;overflow:auto}.inline-note{border-left:3px solid var(--gold);padding-left:12px;margin-top:15px}.loading-note{padding:20px;color:var(--muted)}
@media(min-width:700px){.app-shell{margin:16px auto;height:calc(100dvh - 32px);border-radius:24px;overflow:hidden}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav{padding-left:180px;padding-right:180px}.today-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}}
@media(max-width:430px){.app-header{padding:17px 20px}main{padding:22px 18px 25px}.settings-grid{grid-template-columns:1fr}.card{padding:17px}.stat-value{font-size:25px}.grid{gap:10px}.grid .card:last-child{grid-column:1/-1}.grid .card:last-child .stat-icon{float:left;margin:0 15px 20px 0}.screen-heading h1{font-size:28px}.entry-row{gap:7px}.row-actions{flex-direction:column;gap:4px}.quick-actions{gap:7px}.quick-actions button{padding:9px;font-size:11px}.progress-days{gap:4px}.settings-grid{gap:0}.log-controls{align-items:flex-end}}
@media(min-width:431px) and (max-width:699px){.settings-grid{grid-template-columns:1fr}}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.ttf) format("truetype")}@font-face{font-family:Inter;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/inter-600.ttf) format("truetype")}@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/bodoni-600.ttf) format("truetype")}h1,.brand-line,.stat-value,.streak-count,.summary-strip strong,dialog h2{font-family:"Bodoni Moda",Georgia,serif}.nutrition-summary{cursor:pointer;color:var(--blue);font-size:12px;min-height:32px}.nutrition-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;margin-top:18px}.nutrition-totals span,.nutrition-totals small{display:block;font-size:10px;color:var(--muted)}.nutrition-totals strong{display:block;font-size:13px;margin:4px 0}
main{scroll-behavior:auto}
.import-contents{font-size:12px;margin:14px 0}.import-contents summary{cursor:pointer;color:var(--blue);padding:8px 0}.import-contents ul{list-style:none;padding:0;margin:4px 0;max-height:220px;overflow:auto}.import-contents li{border-top:1px solid var(--line);padding:9px 0;overflow-wrap:anywhere}.import-contents li span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
