*{box-sizing:border-box}:root{--green:#2b7a4b;--green-dark:#1e5c37;--ink:#1a1a1a;--paper:#fff;--muted:#555;--line:#ddd;--danger:#b3261e}html,body{background:var(--paper);color:var(--ink);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:24px;line-height:1.4}a{color:var(--green-dark)}main{max-width:640px;margin:0 auto;padding:16px}.parent-screen{min-height:100vh;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:20px;display:flex}.camera-button{background:var(--green);color:#fff;cursor:pointer;-webkit-tap-highlight-color:#0003;border:none;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(80vw,340px);height:min(80vw,340px);font-size:34px;font-weight:700;display:flex}.camera-button:active{background:var(--green-dark)}.camera-button svg{width:45%;height:45%}.visually-hidden-input{opacity:0;clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.big-button{background:var(--green);color:#fff;cursor:pointer;-webkit-tap-highlight-color:#0003;border:none;border-radius:20px;min-height:72px;padding:16px 32px;font-size:28px;font-weight:700;text-decoration:none;display:inline-block}.big-button:active{background:var(--green-dark)}.big-button.secondary{color:var(--ink);background:#eee}.checkmark{width:140px;height:140px;color:var(--green)}.result-title{margin:0;font-size:44px;font-weight:800}.result-description{margin:0;font-size:34px;font-weight:600}.result-calories{color:var(--muted);margin:0;font-size:26px}.spinner{border:10px solid var(--line);border-top-color:var(--green);border-radius:50%;width:90px;height:90px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--danger);font-size:28px;font-weight:600}.compact{font-size:17px}.compact h1{margin:8px 0;font-size:26px}.compact h2{font-size:20px}.day-nav{justify-content:space-between;align-items:center;gap:8px;margin:12px 0;display:flex}.day-nav a,.day-nav span.nav-off{border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-weight:600;text-decoration:none}.day-nav span.nav-off{color:var(--line)}.day-nav .day-label{font-size:18px;font-weight:700}.totals{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.totals .tile{border:1px solid var(--line);text-align:center;border-radius:12px;flex:100px;padding:10px}.totals .tile b{font-size:22px;display:block}.totals .tile span{color:var(--muted);font-size:13px}.entry-card{border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden}.entry-card img{background:#f4f4f4;width:100%;max-width:100%;height:auto;display:block}.entry-card .body{padding:12px 14px}.entry-card .time{color:var(--muted);font-size:14px}.entry-card .desc{margin:4px 0;font-size:18px;font-weight:600}.entry-card .macros{color:var(--muted);font-size:14px}.entry-card .notes{margin-top:6px;font-size:14px}.entry-card .status-failed{color:var(--danger);font-weight:600}.entry-card .actions{gap:10px;margin-top:10px;display:flex}.small-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:14px}.small-button.danger{color:var(--danger);border-color:var(--danger)}table.history{border-collapse:collapse;width:100%}table.history th,table.history td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px;font-size:15px}.form-row{margin:12px 0}.form-row label{color:var(--muted);margin-bottom:4px;font-size:15px;display:block}.form-row input,.form-row select{border:1px solid var(--line);border-radius:8px;width:100%;max-width:420px;padding:10px;font-size:17px}.parent-links{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:14px}.parent-links code{word-break:break-all;background:#f6f6f6;border-radius:8px;margin:6px 0;padding:8px;font-size:14px;display:block}.camera-sub{opacity:.9;font-size:22px;font-weight:500;display:block}.text-link{color:var(--green-dark);font-size:22px}.parent-form{flex-direction:column;gap:18px;max-width:560px;margin:0 auto;padding:20px;display:flex}.field-label{color:var(--muted);font-size:22px}.big-textarea{border:2px solid var(--line);border-radius:14px;width:100%;padding:14px;font-family:inherit;font-size:26px}.choice-group{border:none;flex-wrap:wrap;gap:10px;margin:0;padding:0;display:flex}.choice-group legend{margin-bottom:8px}.choice{display:inline-flex}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice span{border:2px solid var(--line);cursor:pointer;border-radius:14px;min-height:60px;padding:12px 20px;font-size:24px;font-weight:600;display:inline-block}.choice input:checked+span{border-color:var(--green);color:var(--green-dark);background:#e8f3ec}.choice input:focus-visible+span{outline:3px solid var(--green)}.fix-photo{border-radius:16px;align-self:center;max-width:100%;max-height:40vh}.parent-screen .big-button.secondary{min-height:64px;font-size:22px}.compact.wide{max-width:980px}.tabs{flex-wrap:wrap;gap:6px;margin:8px 0 14px;display:flex}.tab{border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:600;text-decoration:none}.tab-on{background:var(--green);border-color:var(--green);color:#fff}.muted{color:var(--muted)}.feed-tools{flex-direction:column;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.notify-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.small-button.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.name-bar summary{cursor:pointer;color:var(--muted)}.inline-form{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.inline-form input,.inline-form select{border:1px solid var(--line);border-radius:8px;flex:180px;min-width:0;padding:8px 10px;font-size:15px}.inline-form .name-input{flex:0 120px}.inline-form label{color:var(--muted);font-size:14px}.feed-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 14px;display:flex}.entry-card .photo{background:#f4f4f4;width:100%;height:auto;display:block}.photo-text{height:120px;color:var(--green-dark);background:#f4f7f5;justify-content:center;align-items:center;font-size:48px;font-weight:700;display:flex}.comments{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:15px}.comment{margin:4px 0}.said{color:var(--muted);margin-top:4px;font-size:14px;font-style:italic}.med-list{margin:6px 0 0;padding:0;font-size:15px;list-style:none}.med-list li{margin:2px 0}.pill-tag{color:#33407a;vertical-align:1px;background:#eef0f7;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.adjustments{background:#fbf7ea;border-radius:8px;margin-top:6px;padding:6px 10px;font-size:14px}.adjustment{margin:2px 0}.adjusted-from{color:var(--muted);font-size:13px}.desc.muted{color:var(--muted)}.day-section{margin:18px 0 8px}.day-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;padding-bottom:4px;display:flex}.day-head h2{margin:0;font-size:18px}.day-totals{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14px}.empty-day{color:var(--muted);margin:8px 0;font-size:14px}.entry-row{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr) minmax(0,300px);gap:12px;padding:12px 0;display:grid}.thumb{object-fit:cover;background:#f4f4f4;border-radius:10px;width:88px;height:88px}.thumb-text{color:var(--green-dark);background:#f4f7f5;justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.row-main .time{color:var(--muted);font-size:13px}.row-main .desc{margin:2px 0;font-size:16px;font-weight:600}.row-main .macros{color:var(--muted);font-size:14px}.row-main .notes{margin-top:4px;font-size:13px}.row-side .actions{gap:8px;margin-top:8px;display:flex}@media (max-width:720px){.entry-row{grid-template-columns:72px minmax(0,1fr)}.thumb{width:72px;height:72px}.row-side{grid-column:1/-1}}.chart{margin:8px 0 16px}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:#ececec;stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px}.chart .bar{fill:var(--green)}.chart .bar-active{fill:var(--green-dark)}.chart-readout{color:var(--muted);font-variant-numeric:tabular-nums;min-height:20px;font-size:14px}.table-scroll{overflow-x:auto}table.history td{font-variant-numeric:tabular-nums}table.history tr.row-empty td{color:#aaa}.subtabs{margin-top:-6px}.subtabs .tab{padding:5px 10px;font-size:13px}.subtabs .tab-on{border-color:var(--green);color:var(--green-dark);background:#e8f3ec}.entry-card .photo-text{height:72px;font-size:32px}.row-side .actions{flex-wrap:wrap;align-items:flex-start}.adjust{flex:100%;font-size:14px}.adjust summary{cursor:pointer;color:var(--green-dark);padding:4px 0;font-weight:600}.adjust[open] summary{margin-bottom:2px}.name-bar{margin:4px 0 8px;font-size:14px}
