button{touch-action:manipulation}button:disabled{opacity:.55;cursor:wait}.camera{display:block}.close{min-width:44px;min-height:44px;flex-shrink:0;position:relative;z-index:2}.sheet-head{position:sticky;top:-18px;background:#fff;z-index:3;padding:8px 0}.sheet{overscroll-behavior:contain}.modal{padding-top:12px}.sheet [role=alert]{white-space:pre-wrap}.cancel{background:#eef3ef;color:var(--ink)}.app[inert]{pointer-events:none}.meal-actions{display:flex;gap:5px;margin-top:8px}.meal-actions button{font-size:11px;border:0;border-radius:8px;padding:6px 8px;background:var(--soft);color:var(--ink)}.meal-actions .remove{color:#ac452f;background:#fff0ed}.meal .grow b{overflow-wrap:anywhere}.emoji-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}.emoji-picker button{font-size:23px;border:1px solid var(--line);background:#f7faf5;border-radius:12px;min-height:44px}.emoji-picker button[aria-pressed=true]{border:2px solid var(--green);background:var(--lime)}textarea.field{resize:vertical;min-height:86px;font:inherit}.members{display:flex;gap:13px;overflow-x:auto;padding:6px 0 16px;margin:0 0 2px;scrollbar-width:thin}.member{min-width:90px;max-width:110px;text-align:center;font-size:11px}.member-circle{height:59px;width:59px;border-radius:50%;border:2px solid #a9c6b5;background:#e9f1e9;position:relative;overflow:visible;margin:4px auto 7px;display:grid;place-items:center}.member-fill{position:absolute;inset:2px;border-radius:50%;overflow:hidden}.member-fill:before{content:'';position:absolute;bottom:0;width:100%;left:0;height:var(--fill);background:#bfeb67;transition:height .6s ease}.member-emoji{position:relative;font-size:25px;z-index:1}.member.complete .member-circle{border:3px solid #91c93e;box-shadow:0 0 0 3px #c7eb7940,0 0 14px #a6d95360}.complete-check{position:absolute;right:-5px;bottom:-3px;background:var(--green);color:#fff;border:2px solid var(--paper);border-radius:50%;width:22px;height:22px;z-index:2}.member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-meta{color:var(--muted);margin-top:3px}.member.celebrate .member-circle{animation:achieve .7s ease-out}.celebration-message{font-size:12px;color:var(--green);margin:-6px 0 12px}.history-chart{display:flex;gap:8px;align-items:flex-end;height:160px;padding-top:25px}.history-column{flex:1;min-width:0;position:relative;height:100%}.history-plot{height:125px;position:relative}.history-bar{position:absolute;bottom:0;left:20%;width:60%;height:var(--height);border-radius:6px 6px 0 0;background:var(--coral)}.history-bar.met{background:var(--green)}.goal-mark{position:absolute;bottom:var(--goal);border-top:2px dashed var(--ink);width:100%;left:0;z-index:1}.day-label{text-align:center;font-size:10px;color:var(--muted);margin-top:6px}.history-legend{font-size:11px;color:var(--muted);margin-top:15px}.history-list{margin-top:14px}.history-entry{border-top:1px solid var(--line);padding:10px 0;font-size:12px;display:grid;grid-template-columns:1fr auto;gap:4px}.history-entry small{color:var(--muted);grid-column:1/-1}.text-success{color:var(--green)}.auth{margin-top:25px}.auth .hero{margin-top:0}.auth form{background:#fff;padding:18px;border-radius:22px;border:1px solid var(--line)}.auth-links{display:flex;gap:10px}.auth-links button{flex:1}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12px;margin-top:14px;line-height:1.5}.checkbox input{margin-top:3px}.sync{font-size:11px;color:var(--muted);margin-top:8px}.toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);z-index:30;background:var(--deep);color:#fff;padding:12px 16px;border-radius:14px;max-width:90vw;box-shadow:var(--shadow);font-size:13px}.toast button{background:var(--lime);border:0;border-radius:8px;padding:7px;margin-left:8px;color:var(--deep)}.library-actions{display:flex;gap:4px}.form-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:10px}.inline-error{color:#a03825;background:#fff0ed;padding:10px;border-radius:10px;margin-top:10px;font-size:12px}.hidden{display:none!important}.date-filter{margin:14px 0;display:flex;align-items:center;gap:10px;font-size:12px}.date-filter input{flex:1}.profile-hero .eyebrow{color:var(--green)}@keyframes achieve{0%{transform:scale(.85)}45%{transform:scale(1.16)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
