:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#151816;--muted:#657168;--paper:#fff8eb;--surface:#fff;--leaf:#2f6149;--leaf-dark:#123426;--mint:#dcecd7;--tomato:#dc533f;--gold:#f2bd4d;--sky:#d8eef5;--line:#15181624;--shadow:0 18px 44px #262f2824}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--leaf-dark);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0;line-height:1.04}h1,h2{font-family:Georgia,Times New Roman,serif}h1{margin-bottom:12px;font-size:2.7rem}h2{margin-bottom:0;font-size:1.9rem}h3{margin-bottom:6px;font-size:1.02rem}label{color:var(--ink);gap:8px;font-weight:850;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;color:var(--ink);background:#fff;border-radius:8px;padding:12px}textarea{resize:vertical}.eyebrow,.metric-card span,.entry-card span,.suggestion-card span{color:var(--tomato);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:950;display:block}.login-page{min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));color:#fffaf1;background:linear-gradient(160deg,#123426fa,#123426bd),url(/assets/alpaca-hero-cartoon-DklAv82_.png) bottom/cover no-repeat;place-items:center;display:grid}.login-card{width:min(430px,100% - 28px);min-width:0;max-width:none;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#123426c2;border:1px solid #fffaf12e;border-radius:12px;gap:16px;padding:24px;display:grid;overflow:hidden}.login-art{display:none}.login-content{gap:16px;width:100%;min-width:0;display:grid}.login-content>*{min-width:0}.login-content h1{overflow-wrap:break-word;max-width:100%;font-size:2.65rem}.login-card--clerk .login-content h1{max-width:none}.auth-switch{background:#fffaf114;border:1px solid #fffaf12e;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:100%;padding:5px;display:grid}.auth-switch button{color:#fffaf1c7;background:0 0;border:0;border-radius:999px;min-height:42px;font-weight:950}.auth-switch button.is-active{color:var(--leaf);background:#fffaf1}.login-card .eyebrow{color:var(--gold)}.login-content>form label{color:#fffaf1}.login-content>p:not(.eyebrow){color:#fffaf1db}.login-card code{color:#fffaf1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92em}.login-error,.security-note,.auth-testimonial{border-radius:8px;margin-bottom:0;padding:10px 12px;font-weight:850}.login-error{color:#fff3ef;background:#dc533f2e}.security-note{color:#fffaf1d1;background:#fffaf11f}.auth-testimonial{background:#f2bd4d1a;border:1px solid #f2bd4d38;gap:3px;display:grid}.auth-testimonial blockquote{color:#fffaf1;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;line-height:1.18}.auth-testimonial figcaption{color:#fffaf1bd;font-size:.78rem;line-height:1.25}.auth-loading-card{align-content:center}.clerk-auth-panel{justify-items:center;width:100%;min-width:0;display:grid}.login-card--clerk .clerk-auth-panel{background:#fffaf114;border:1px solid #fffaf129;border-radius:10px;padding:14px}.clerk-auth-panel .cl-rootBox,.clerk-auth-panel .cl-cardBox{width:100%}.login-card--clerk .clerk-auth-panel .cl-rootBox,.login-card--clerk .clerk-auth-panel .cl-cardBox,.login-card--clerk .clerk-auth-panel .cl-card{width:100%!important;max-width:100%!important;box-shadow:none!important;background:0 0!important}.clerk-auth-panel .cl-cardBox{box-shadow:none}.login-card--clerk .clerk-auth-panel .cl-card{border:0!important;padding:0!important}.clerk-auth-panel .cl-card,.clerk-auth-panel .cl-main,.clerk-auth-panel .cl-form{min-width:0}.clerk-auth-panel .cl-card{max-height:none}.login-card--clerk .clerk-auth-panel .cl-header,.login-card--clerk .clerk-auth-panel .cl-footer,.login-card--clerk .clerk-auth-panel .cl-logoBox{display:none!important}.login-card--clerk .clerk-auth-panel .cl-main,.login-card--clerk .clerk-auth-panel .cl-form,.login-card--clerk .clerk-auth-panel .cl-formField,.login-card--clerk .clerk-auth-panel .cl-formFieldRow{min-width:0!important}.login-card--clerk .clerk-auth-panel .cl-formFieldLabel,.login-card--clerk .clerk-auth-panel .cl-formFieldLabelRow,.login-card--clerk .clerk-auth-panel .cl-formFieldAction{color:#fffaf1!important}.login-card--clerk .clerk-auth-panel .cl-formFieldInput{min-height:46px!important;color:var(--ink)!important;box-shadow:none!important;background:#fffaf1!important;border:1px solid #fffaf133!important;border-radius:8px!important}.login-card--clerk .clerk-auth-panel .cl-socialButtonsBlockButton{min-height:44px!important;color:var(--leaf-dark)!important;box-shadow:none!important;background:#fffaf1!important;border:1px solid #fffaf138!important;border-radius:8px!important;font-weight:850!important}.login-card--clerk .clerk-auth-panel .cl-dividerLine{background:#fffaf133!important}.login-card--clerk .clerk-auth-panel .cl-dividerText,.login-card--clerk .clerk-auth-panel .cl-formFieldHintText,.login-card--clerk .clerk-auth-panel .cl-formFieldInfoText{color:#fffaf1ad!important}.login-card--clerk .clerk-auth-panel .cl-formButtonPrimary{background:var(--leaf)!important;color:#fffaf1!important;min-height:48px!important;box-shadow:none!important;border-radius:999px!important;font-weight:950!important}.login-content>form,.screen,.panel,.custom-form,.entry-list,.suggestion-list{gap:14px;display:grid}.phone-app{background:var(--paper);width:min(100%,480px);min-height:100svh;margin:0 auto;padding-bottom:86px;overflow-x:hidden;box-shadow:0 0 80px #00000038}.app-top{z-index:10;padding:12px max(14px, env(safe-area-inset-left)) 10px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff8ebeb;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand-button,.ghost-button,.secondary-button,.calendar-actions button,.entry-card button{border:1px solid var(--line);color:var(--leaf);background:#fff;border-radius:999px;font-weight:950}.brand-button{min-height:58px;box-shadow:none;background:0 0;border:0;align-items:center;padding:0;display:flex}.ghost-button,.secondary-button,.calendar-actions button,.entry-card button{justify-content:center;align-items:center;min-height:44px;padding:0 14px;display:inline-flex}.mobile-logout{flex:none;width:auto;min-height:30px;padding:0 10px;font-size:.8rem;line-height:1}.brand-logo{align-items:center;width:min(148px,100%);display:inline-flex}.brand-logo--compact{width:58px}.brand-logo img{width:100%;height:auto;display:block}.login-card .brand-logo{filter:drop-shadow(0 16px 28px #0000003d);justify-self:center}.app-main{width:100%}.screen{padding:14px 12px 24px}.screen>*,.panel,.calendar-card,.calendar-list-card,.selected-day-card{min-width:0}.screen-title{color:#fffaf1;background:linear-gradient(120deg, #123426f5, #123426c7), url(/assets/alpaca-hero-cartoon-DklAv82_.png) right bottom / 340px auto no-repeat, var(--leaf-dark);border-radius:0 0 18px 18px;margin:-14px -12px 2px;padding:26px 14px 30px}.screen-title h1{font-size:2.6rem}.screen-title .eyebrow{color:var(--gold)}.screen-title p:not(.eyebrow){color:#fffaf1db;font-weight:800}.hero-panel,.panel,.metric-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe0;border-radius:10px}.hero-panel{color:#fffaf1;background:linear-gradient(120deg, #123426f5, #123426c7), url(/assets/alpaca-hero-cartoon-DklAv82_.png) right bottom / 320px auto no-repeat, var(--leaf-dark);gap:14px;padding:18px;display:grid}.hero-copy{gap:14px;min-width:0;display:grid}.hero-copy label{min-width:0}.hero-copy input[type=date]{text-align:left;appearance:none;border-radius:8px;min-height:54px;padding:0 14px;font-size:1rem;line-height:1.2}.hero-panel .eyebrow{color:var(--gold)}.hero-panel label{color:#fffaf1}.calorie-number strong{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:4.7rem;line-height:.9;display:block}.calorie-number span{color:#fffaf1d6;font-weight:950}.progress-track,.target-track{background:#dcecd7d1;border-radius:999px;height:13px;overflow:hidden}.progress-track span,.target-track span{border-radius:inherit;background:linear-gradient(90deg, var(--gold), var(--tomato));height:100%;display:block}.paca-pet-card{--paca-accent:var(--gold);text-align:center;background:#244838f5;border:1px solid #fffaf12e;border-radius:10px;grid-template-columns:1fr;align-items:center;gap:12px;padding:12px;display:grid;box-shadow:0 16px 32px #00000029}.paca-pet-card.is-empty{--paca-accent:var(--sky)}.paca-pet-card.is-curious,.paca-pet-card.is-hungry{--paca-accent:var(--gold)}.paca-pet-card.is-steady,.paca-pet-card.is-focused{--paca-accent:#86bd82}.paca-pet-card.is-close{--paca-accent:#ffd86b}.paca-pet-card.is-over{--paca-accent:#ef947d}.paca-stage{background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--paca-accent) 42%, transparent), transparent 62%), #fffaf11f;border-radius:12px;place-items:center;min-height:136px;padding:10px;display:grid;position:relative;overflow:visible}.paca-pet{filter:drop-shadow(0 13px 18px #0000002e);width:min(160px,100%);max-width:100%;overflow:visible}.paca-pet.paca-emote{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;max-height:124px;display:block}.paca-pet-card.is-empty .paca-pet.paca-emote{max-height:124px}.paca-scene-sky{fill:url(#paca-sky);stroke:#4b2b17b8;stroke-width:4px}.paca-scene-hill{fill:#75a450b8}.paca-scene-hill-back{fill:#4c7a5ca3}.paca-crew-shadow,.paca-char-shadow,.paca-sticker-shadow{fill:#22160f2e}.paca-character{transform-box:fill-box;transform-origin:50% 92%}.paca-character.is-main{filter:drop-shadow(0 10px 9px #361f122e)}.paca-character.is-friend{opacity:.96}.paca-char-ear,.paca-char-neck,.paca-char-face{fill:var(--paca-coat);stroke:#5a321d;stroke-linejoin:round;stroke-width:4px}.paca-char-neck{fill:var(--paca-shade)}.paca-char-inner-ear{fill:#e87956;opacity:.82;stroke:#8e4b2b;stroke-width:2px}.paca-char-belly,.paca-char-muzzle{fill:#fff0ce}.paca-char-paw{fill:#8a542f;stroke:#5a321d;stroke-linejoin:round;stroke-width:4px}.paca-char-paw.is-raised-left{fill:var(--paca-light)}.paca-char-fluff{fill:var(--paca-light);stroke:#5b311b1f;stroke-width:2px}.paca-char-eye{fill:#2a1a12}.paca-char-eye-shine,.paca-char-spark-eye{fill:#fffaf1}.paca-char-spark-eye{stroke:#2a1a12;stroke-linejoin:round;stroke-width:3px}.paca-char-eye-line,.paca-char-brow,.paca-char-mouth,.paca-char-leaves path,.paca-char-apple path,.paca-char-steam path,.paca-bowl path{fill:none;stroke:#4b2b17;stroke-linecap:round;stroke-linejoin:round}.paca-char-eye-line,.paca-char-brow,.paca-char-mouth{stroke-width:4px}.paca-char-nose{fill:#5b3219}.paca-char-cheek{fill:#f29375;opacity:.9}.paca-char-leaves path:first-child,.paca-char-leaves path:nth-child(2),.paca-bowl path:nth-of-type(n+2){fill:#63a347;stroke:#2f6149;stroke-width:3px}.paca-char-leaves path:nth-child(3){stroke:#4d7c33;stroke-width:4px}.paca-char-apple circle{fill:#e56a4e;stroke:#7a3a24;stroke-width:3px}.paca-char-apple path{stroke:#3c6f33;stroke-width:3px}.paca-char-sparkles path{fill:#ffe477;stroke:#6f5520;stroke-linejoin:round;stroke-width:3px}.paca-char-heart{fill:#ef6c5f;stroke:#7d3327;stroke-linejoin:round;stroke-width:3px}.paca-char-steam path{stroke:#f1e5cd;stroke-width:8px;opacity:.9}.paca-char-sweat{fill:#9fd9ec;stroke:#2e7187;stroke-width:3px}.paca-bowl ellipse{fill:#bd7a39;stroke:#5d351e;stroke-width:4px}.paca-bowl path:first-of-type{fill:#9b5a2d;stroke:#5d351e;stroke-width:4px}.paca-body{transform-box:fill-box;transform-origin:50% 78%;animation:3.2s ease-in-out infinite paca-breathe}.paca-pet-card.is-curious .paca-body,.paca-pet-card.is-hungry .paca-body{animation-name:paca-curious}.paca-pet-card.is-close .paca-body{animation-name:paca-celebrate;animation-duration:1.8s}.paca-pet-card.is-over .paca-body{animation-name:paca-concerned;animation-duration:3.6s}.paca-shadow{fill:#00000029}.paca-ear,.paca-neck,.paca-face,.paca-paw{fill:url(#paca-wool-empty);stroke:#6a3d20;stroke-width:4px}.paca-pet-card.is-empty .paca-ear,.paca-pet-card.is-empty .paca-neck,.paca-pet-card.is-empty .paca-face,.paca-pet-card.is-empty .paca-paw,.paca-pet-card.is-curious .paca-ear,.paca-pet-card.is-curious .paca-neck,.paca-pet-card.is-curious .paca-face,.paca-pet-card.is-curious .paca-paw,.paca-pet-card.is-hungry .paca-ear,.paca-pet-card.is-hungry .paca-neck,.paca-pet-card.is-hungry .paca-face,.paca-pet-card.is-hungry .paca-paw,.paca-pet-card.is-steady .paca-ear,.paca-pet-card.is-steady .paca-neck,.paca-pet-card.is-steady .paca-face,.paca-pet-card.is-steady .paca-paw,.paca-pet-card.is-focused .paca-ear,.paca-pet-card.is-focused .paca-neck,.paca-pet-card.is-focused .paca-face,.paca-pet-card.is-focused .paca-paw,.paca-pet-card.is-close .paca-ear,.paca-pet-card.is-close .paca-neck,.paca-pet-card.is-close .paca-face,.paca-pet-card.is-close .paca-paw,.paca-pet-card.is-over .paca-ear,.paca-pet-card.is-over .paca-neck,.paca-pet-card.is-over .paca-face,.paca-pet-card.is-over .paca-paw{fill:#f7d39b}.paca-belly,.paca-muzzle{fill:#fff1cf}.paca-fluff{fill:#ffe4aa;stroke:#6a3d201a;stroke-width:2px}.paca-ear-left,.paca-ear-right{fill:#f6c07f}.paca-eye{fill:#22160f}.paca-eye-shine,.paca-spark-eye{fill:#fffaf1}.paca-spark-eye{stroke:#22160f;stroke-linejoin:round;stroke-width:3px}.paca-eye-line,.paca-brow,.paca-mouth,.paca-leaves path,.paca-apple path{fill:none;stroke:#4b2b17;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.paca-nose{fill:#5b3219}.paca-cheek{fill:#f29375;opacity:.88}.paca-leaves path:first-child,.paca-leaves path:nth-child(2){fill:#63a347;stroke:#2f6149;stroke-width:3px}.paca-leaves path:nth-child(3){stroke:#4d7c33;stroke-width:4px}.paca-apple circle{fill:#e56a4e;stroke:#7a3a24;stroke-width:4px}.paca-apple path{stroke:#3c6f33;stroke-width:4px}.paca-sparkles path{fill:#ffe477;stroke:#6f5520;stroke-linejoin:round;stroke-width:3px}.paca-sweat{fill:#9fd9ec;stroke:#2e7187;stroke-width:3px}.paca-prop-text,.paca-mark{fill:var(--paca-accent);font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:950}.paca-prop-question{fill:#9eb86a;font-size:3rem}.paca-mark{opacity:.78;animation:2.4s ease-in-out infinite paca-mark-float}.paca-mark-2{animation-delay:.3s}.paca-mark-3{animation-delay:.6s}.paca-mood-copy{gap:3px;display:grid}.paca-mood-copy strong{color:#fffaf1;font-size:1rem}.paca-mood-copy span{color:#fffaf1cc;font-size:.84rem;font-weight:850}@keyframes paca-breathe{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(0)}}@keyframes paca-curious{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes paca-celebrate{0%,to{transform:translateY(0)rotate(0)}35%{transform:translateY(-10px)rotate(-4deg)}70%{transform:translateY(-5px)rotate(4deg)}}@keyframes paca-concerned{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-2px)rotate(-1deg)}}@keyframes paca-mark-float{0%,to{opacity:.25;transform:translateY(5px)}50%{opacity:.9;transform:translateY(-3px)}}.summary-grid,.coach-meter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.today-sidebar{gap:14px;display:grid}.metric-card,.panel{padding:16px}.metric-card{box-shadow:none}.metric-card strong{color:var(--leaf);font-family:Georgia,Times New Roman,serif;font-size:2.1rem;line-height:1;display:block}.metric-card small,.entry-card p,.selected-food p,.food-row small,.calendar-day small{color:var(--muted);font-weight:800}.panel-heading,.selected-food,.entry-card{gap:10px;display:grid}.panel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.primary-button{background:var(--leaf);color:#fffaf1;border:0;border-radius:999px;min-height:52px;padding:0 20px;font-weight:950;box-shadow:0 12px 24px #2f61492e}.primary-button.small,.secondary-button.small{min-height:44px}.danger-button{min-height:48px;color:var(--leaf);background:#fff;border:1px solid #2f614938;border-radius:999px;font-weight:950}.entry-card,.selected-food{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.entry-card{grid-template-columns:minmax(0,1fr) auto}.entry-card .macro-pills,.entry-card button{grid-column:1/-1}.entry-card>strong,.selected-food strong{color:var(--leaf);font-family:Georgia,Times New Roman,serif;font-size:1.8rem}.macro-pills{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.macro-pills span{background:var(--mint);max-width:100%;color:var(--leaf);overflow-wrap:anywhere;border-radius:999px;padding:7px 11px;font-size:.76rem;font-weight:950}.macro-note,.form-helper{color:var(--muted);margin-bottom:0;font-size:.86rem;font-weight:850}.macro-note{grid-column:1/-1}.empty-state{border:1px dashed var(--line);text-align:center;border-radius:8px;justify-items:center;gap:12px;padding:22px;display:grid}.empty-state img{width:min(160px,70%)}.scan-row,.search-controls,.form-grid{gap:12px;display:grid}.status-text{background:var(--mint);color:var(--leaf);border-radius:8px;margin-bottom:0;padding:10px 12px;font-weight:850}.food-results{gap:10px;max-height:470px;display:grid;overflow:auto}.food-row{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px;display:grid}.food-row.is-active{background:var(--mint);border-color:#2f61497a}.food-row strong,.food-row small{display:block}.food-row em{background:var(--sky);width:fit-content;color:var(--leaf);border-radius:999px;grid-column:1;padding:5px 9px;font-size:.72rem;font-style:normal;font-weight:950}.food-row b{color:var(--leaf)}.custom-form h2{margin-bottom:2px}.calendar-card,.calendar-list-card,.selected-day-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffe6;border-radius:14px;padding:14px}.calendar-topline,.selected-day-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.calendar-topline{margin-bottom:12px}.calendar-topline strong{background:var(--mint);color:var(--leaf);border-radius:999px;padding:8px 11px;font-weight:950}.calendar-actions{gap:8px;margin-bottom:12px;display:flex}.calendar-actions button{background:var(--leaf);color:#fffaf1;border-color:#2f61492e;flex:1;box-shadow:0 8px 18px #2f614924}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:.74rem;font-weight:950;display:flex}.calendar-legend span{background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.calendar-legend i{border-radius:50%;width:9px;height:9px}.under-dot{background:#85bb7f}.close-dot{background:#e4bc54}.over-dot{background:#de705e}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.desktop-calendar{display:none}.mobile-day-strip{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;min-width:0;max-width:100%;padding:4px 2px 12px;display:flex;overflow-x:auto}.mobile-day-strip::-webkit-scrollbar{display:none}.weekday-row{color:var(--muted);text-align:center;text-transform:uppercase;margin-bottom:8px;font-size:.64rem;font-weight:950}.calendar-day,.calendar-pill-day{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:10px;align-content:start;gap:5px;padding:7px;display:grid}.calendar-day{min-height:84px}.calendar-pill-day{scroll-snap-align:start;min-width:76px;min-height:96px}.calendar-day span,.calendar-pill-day span{background:var(--mint);width:24px;height:24px;color:var(--leaf);border-radius:50%;place-items:center;font-size:.76rem;font-weight:950;display:grid}.calendar-day strong,.calendar-pill-day strong{color:var(--leaf);font-family:Georgia,Times New Roman,serif;font-size:.86rem;line-height:1}.day-calorie-bar{background:#2f61491f;border-radius:999px;height:6px;overflow:hidden}.day-calorie-bar b{border-radius:inherit;background:var(--leaf);height:100%;display:block}.macro-dots{gap:3px;display:flex}.macro-dots i{background:#65716838;border-radius:50%;width:6px;height:6px}.macro-dots i.is-filled:first-child{background:var(--leaf)}.macro-dots i.is-filled:nth-child(2){background:var(--gold)}.macro-dots i.is-filled:nth-child(3){background:var(--tomato)}.calendar-day.is-muted,.calendar-pill-day.is-muted{opacity:.38}.calendar-day.is-selected,.calendar-pill-day.is-selected{border-color:#2f6149a6;outline:3px solid #2f614938;transform:translateY(-1px)}.calendar-day.is-under,.calendar-pill-day.is-under{background:linear-gradient(#f7fbf5,#eaf6e6)}.calendar-day.is-close,.calendar-pill-day.is-close{background:linear-gradient(#fffaf0,#f6e8bd)}.calendar-day.is-over,.calendar-pill-day.is-over{background:linear-gradient(#fff5f2,#f8dcd5)}.calendar-day.is-over .day-calorie-bar b,.calendar-pill-day.is-over .day-calorie-bar b{background:var(--tomato)}.calendar-day.is-close .day-calorie-bar b,.calendar-pill-day.is-close .day-calorie-bar b{background:var(--gold)}.calendar-day-list{gap:10px;display:grid}.calendar-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-list-heading span,.calendar-empty{color:var(--muted);font-weight:850}.calendar-empty{margin-bottom:0}.calendar-list-row{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:10px;gap:8px;padding:12px;display:grid}.calendar-list-row.is-selected{background:var(--mint);border-color:#2f6149a6}.calendar-list-row div:first-child{justify-content:space-between;gap:12px;display:flex}.calendar-list-row strong{color:var(--leaf);font-weight:950}.calendar-list-row span,.calendar-list-row small{color:var(--muted);font-weight:850}.list-row-progress{background:#2f61491f;border-radius:999px;height:8px;overflow:hidden}.list-row-progress b{border-radius:inherit;background:var(--leaf);height:100%;display:block}.selected-day-card{grid-template-columns:1fr;margin-top:2px}.selected-day-card h2{margin-bottom:0;font-size:1.8rem}.selected-day-stats{flex-wrap:wrap;justify-content:flex-start;gap:6px;display:flex}.selected-day-stats strong,.selected-day-stats span{background:var(--mint);color:var(--leaf);border-radius:999px;padding:7px 9px;font-size:.78rem;font-weight:950}.selected-day-stats strong{background:var(--leaf);color:#fffaf1}.suggestion-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px}.suggestion-card h2{margin-bottom:8px;font-size:1.45rem}.suggestion-card p,.coach-note{color:var(--muted);margin-bottom:0;font-weight:780}.coach-screen{grid-template-rows:minmax(0,1fr);min-height:calc(100svh - 170px)}.coach-screen .screen-title{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);background:#ffffffe6;border-radius:10px;margin:0;padding:14px 16px}.coach-screen .screen-title h1{margin-bottom:6px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;line-height:1.12}.coach-screen .screen-title .eyebrow{color:var(--leaf);margin-bottom:5px}.coach-screen .screen-title p:not(.eyebrow){color:var(--muted);margin-bottom:0;font-size:.95rem;font-weight:800}.panel.ai-chat-panel{background:#fffef9;grid-template-rows:auto minmax(280px,1fr) auto;gap:0;min-height:calc(100svh - 194px);padding:0;display:grid;overflow:hidden}.ai-badge,.ai-photo-chip{background:var(--mint);width:fit-content;color:var(--leaf);border-radius:999px;align-items:center;padding:7px 10px;font-size:.75rem;font-weight:950;display:inline-flex}.ai-chat-topbar{border-bottom:1px solid var(--line);background:#fffaf1e6;align-items:center;gap:10px;min-width:0;padding:12px 14px;display:flex}.ai-chat-topbar .brand-logo--compact{flex:none;width:42px}.ai-chat-topbar>div{gap:2px;min-width:0;display:grid}.ai-chat-topbar strong{color:var(--ink);font-size:1rem;line-height:1}.ai-chat-topbar span:not(.ai-badge){color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;line-height:1.15;overflow:hidden}.ai-chat-topbar .ai-badge{background:#dcecd7d1;margin-left:auto}.ai-chat-messages{background:linear-gradient(180deg, #fff8ebdb, #fffffff5), var(--surface);align-content:start;gap:14px;min-width:0;min-height:0;padding:16px 14px;display:grid;overflow:auto}.ai-message{grid-template-columns:40px minmax(0,1fr);gap:9px;width:100%;min-width:0;max-width:100%;display:grid}.ai-message.is-user{grid-template-columns:minmax(0,1fr) 40px}.ai-message.is-user .ai-message-avatar{background:var(--mint);color:var(--leaf);grid-area:1/2;font-size:.62rem}.ai-message.is-user .ai-message-body{background:var(--leaf);color:#fffaf1;border-radius:18px 18px 4px;grid-area:1/1;justify-self:end;max-width:min(92%,560px)}.ai-message.is-assistant .ai-message-body{border:1px solid var(--line);max-width:min(92%,660px);color:var(--ink);background:#fff;border-radius:18px 18px 18px 4px;justify-self:start;box-shadow:0 12px 26px #262f2814}.ai-message-avatar{background:var(--leaf);color:#fffaf1;border:1px solid #2f61492e;border-radius:999px;place-items:center;width:40px;height:40px;font-size:.78rem;font-weight:950;line-height:1;display:grid;overflow:hidden}.ai-message-avatar img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.ai-message-body{overflow-wrap:anywhere;gap:9px;min-width:0;max-width:100%;padding:12px 14px;display:grid}.ai-message p{color:inherit;overflow-wrap:anywhere;white-space:pre-line;word-break:break-word;margin:0;font-weight:800;line-height:1.28}.ai-message.is-user .ai-photo-chip{color:#fffaf1;background:#fffaf12e}.ai-estimate-card{background:#dcecd794;border:1px solid #2f614929;border-radius:8px;gap:10px;min-width:0;max-width:100%;padding:12px;display:grid}.ai-estimate-card>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ai-estimate-card strong{max-width:100%;color:var(--leaf);overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1}.ai-estimate-card span,.ai-estimate-card p,.ai-estimate-card li{color:var(--muted);overflow-wrap:anywhere;word-break:break-word;font-weight:850}.ai-estimate-card h3,.ai-estimate-card ul{margin-bottom:0}.ai-estimate-card h3{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.ai-estimate-card ul{padding-left:18px}.ai-sources{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.ai-sources span,.ai-sources a{overflow-wrap:anywhere;word-break:break-word;border-radius:999px;align-items:center;min-width:0;max-width:100%;padding:6px 9px;font-size:.72rem;font-weight:950;line-height:1.1;display:inline-flex}.ai-sources span{color:var(--leaf);background:#2f61491a}.ai-sources a{border:1px solid var(--line);color:var(--leaf);text-overflow:ellipsis;white-space:normal;background:#fff;text-decoration:none;overflow:hidden}.ai-composer{border-top:1px solid var(--line);background:#fffaf1f5;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;padding:12px;display:grid}.ai-composer textarea{resize:none;background:#fff;border-radius:18px;min-height:52px;max-height:128px;padding:14px 16px;line-height:1.25}.ai-icon-button,.ai-send-button{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 14px;font-weight:950;line-height:1;display:inline-flex}.ai-icon-button{color:var(--leaf);background:#fff}.ai-icon-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.ai-send-button{background:var(--leaf);color:#fffaf1}.ai-photo-preview{border:1px solid var(--line);background:#fff;border-radius:14px;grid-column:1/-1;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;display:grid}.ai-photo-preview img{object-fit:cover;border-radius:8px;width:58px;height:58px}.ai-photo-preview span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.ai-photo-preview button{border:1px solid var(--line);min-height:36px;color:var(--leaf);background:#fff;border-radius:999px;padding:0 10px;font-weight:950}.health-panel{gap:14px}.health-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.health-status-grid div{background:var(--mint);border:1px solid #2f614929;border-radius:8px;padding:12px}.health-status-grid span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:950;display:block}.health-status-grid strong{color:var(--leaf);margin-top:4px;font-size:1rem;line-height:1.1;display:block}.health-note{color:var(--muted);margin-bottom:0;font-weight:800}.bottom-tabs{z-index:20;width:min(100%,480px);padding:8px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff8ebf0;grid-template-columns:repeat(5,1fr);gap:6px;display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%)}.bottom-tabs button{min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:.78rem;font-weight:950}.bottom-tabs button.is-active{background:var(--leaf);color:#fffaf1}.sidebar-logout{display:none}@media (width<=430px){h1{font-size:2.3rem}h2{font-size:1.65rem}input,select,textarea{min-height:46px;padding:11px}.login-page{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom))}.login-card{gap:14px;width:100%;padding:18px}.login-content{gap:13px}.login-content h1{font-size:2.25rem}.auth-switch button{min-height:40px}.phone-app{padding-bottom:78px}.app-top{padding:10px max(12px, env(safe-area-inset-left)) 8px}.brand-logo--compact{width:52px}.screen{gap:12px;padding:12px 10px 112px}.screen-title{background-size:auto,260px,auto;margin:-12px -10px 0;padding:22px 12px 26px}.screen-title h1,.hero-panel h1{font-size:2rem}.hero-panel{background-size:auto,250px,auto;gap:10px;padding:14px}.hero-copy{gap:10px}.hero-copy input[type=date]{min-height:52px;font-size:.96rem}.calorie-number strong{font-size:3.45rem}.calorie-number span{font-size:.94rem}.progress-track,.target-track{height:11px}.summary-grid,.coach-meter{gap:8px}.metric-card,.panel,.calendar-card,.calendar-list-card,.selected-day-card{padding:14px}.metric-card strong{font-size:1.85rem}.paca-pet-card{gap:10px;padding:10px}.paca-stage{min-height:156px;padding:8px}.paca-pet.paca-emote,.paca-pet-card.is-empty .paca-pet.paca-emote{max-height:142px}.entry-card,.selected-food,.food-row{padding:12px}.entry-card>strong,.selected-food strong{font-size:1.55rem}.calendar-actions{gap:6px}.calendar-actions button{min-height:42px;padding:0 10px}.calendar-pill-day{min-width:70px;min-height:88px}.bottom-tabs{padding:6px max(6px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));gap:4px}.bottom-tabs button{min-height:50px;font-size:.72rem}.ai-chat-messages{gap:12px;padding:12px 10px}.ai-message{grid-template-columns:34px minmax(0,1fr);gap:8px}.ai-message.is-user{grid-template-columns:minmax(0,1fr) 34px}.ai-message-avatar{width:34px;height:34px;font-size:.58rem}.ai-message.is-user .ai-message-body,.ai-message.is-assistant .ai-message-body{max-width:100%}.ai-message-body{padding:11px 12px}.ai-estimate-card{padding:10px}.ai-estimate-card>div:first-child{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.ai-estimate-card strong{font-size:1.7rem}}@media (width<=360px){.login-content h1,.screen-title h1,.hero-panel h1{font-size:1.86rem}.calorie-number strong{font-size:3.05rem}.metric-card strong{font-size:1.7rem}.bottom-tabs button{font-size:.68rem}}@media (width>=760px){.login-card{border-radius:16px}.phone-app{min-height:min(100svh,980px)}.app-top{padding-inline:16px}.screen{padding:14px 12px 24px}.screen-title{border-radius:0 0 18px 18px;margin:-14px -12px 2px;padding:26px 14px 30px}.calendar-grid,.weekday-row{gap:8px}.desktop-calendar{display:block}.mobile-day-strip,.calendar-list-card{display:none}.calendar-day{min-height:118px;padding:10px}.calendar-day strong{font-size:.9rem}.calendar-day small,.weekday-row{font-size:.76rem}.selected-day-card h2{font-size:2.2rem}.selected-day-card{grid-template-columns:minmax(0,1fr) auto}.selected-day-stats{justify-content:flex-end}}@media (width>=900px){.login-page{background:radial-gradient(circle at 82% 18%,#f2bd4d33,#0000 28%),linear-gradient(130deg,#123426fa 0%,#123426eb 44%,#123426c7 100%),url(/assets/alpaca-hero-cartoon-DklAv82_.png) bottom/cover no-repeat;place-items:center;padding:28px}.login-card{background:#123426db;grid-template-columns:minmax(320px,.86fr) minmax(390px,1fr);gap:0;width:min(1040px,100%);max-width:none;min-height:min(660px,100svh - 56px);max-height:none;padding:0;overflow:hidden}.login-card--clerk{background:#123426d6;grid-template-columns:minmax(0,1fr);width:min(520px,100%);min-height:auto;max-height:calc(100svh - 56px);padding:30px;overflow:auto}.login-card--clerk .login-art{display:none}.login-art{background:linear-gradient(#1234261f,#1234269e),url(/assets/alpaca-hero-cartoon-DklAv82_.png) bottom/112% no-repeat;align-content:space-between;align-items:start;min-height:100%;padding:34px;display:grid;position:relative}.login-art:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 70%,#1234263d);border-right:1px solid #fffaf129;position:absolute;inset:0}.login-art .brand-logo{z-index:1;justify-self:start;width:150px;position:relative}.login-content{align-content:center;gap:12px;min-height:0;padding:36px;overflow:auto}.login-card--clerk .login-content{align-content:start;justify-self:center;width:100%;padding:0;overflow:visible}.login-content>.brand-logo{display:none}.login-card--clerk .login-content>.brand-logo{justify-self:center;width:132px;display:inline-flex}.login-content h1{max-width:12ch;margin-bottom:4px;font-size:clamp(2.55rem,4vw,3.45rem)}.login-card--clerk .login-content h1{text-align:center;max-width:none;font-size:clamp(2.1rem,2.8vw,2.65rem)}.login-card--clerk .login-content>.eyebrow{text-align:center}.login-content p:not(.eyebrow){margin-bottom:4px}.login-content>form{gap:10px}.login-content>form input{min-height:46px;padding-block:10px}.login-content>form .primary-button{min-height:48px}.login-content>.security-note{padding:8px 10px;font-size:.78rem}.login-content .auth-testimonial{padding:8px 10px}.login-card--clerk .login-content>.auth-testimonial{display:grid}.login-content .auth-testimonial blockquote{font-size:1rem}.login-content .auth-testimonial figcaption{font-size:.74rem}.login-content .clerk-auth-panel{justify-items:stretch;margin-top:2px}.clerk-auth-panel .cl-card{padding:18px}.login-card--clerk .clerk-auth-panel .cl-card{padding:0!important}}@media (width>=980px){body{background:var(--paper)}.phone-app{width:100%;height:100svh;min-height:100svh;box-shadow:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:220px minmax(0,1fr);margin:0;padding-bottom:0;display:grid;overflow:hidden}.app-top{border-right:1px solid var(--line);background:#fff8ebe0;border-bottom:0;flex-direction:column;grid-area:1/1;justify-content:flex-start;align-items:flex-start;padding:24px 18px 14px;position:static}.mobile-logout{display:none}.bottom-tabs .sidebar-logout{justify-content:center;width:100%;min-height:46px}.brand-button{justify-content:flex-start;width:100%}.brand-logo--compact{width:76px}.app-main{grid-area:1/2/span 2;min-width:0;overflow:auto}.bottom-tabs{border-top:0;border-right:1px solid var(--line);background:#fff8ebe0;flex-direction:column;grid-area:2/1;align-content:stretch;gap:8px;width:auto;padding:8px 16px 22px;display:flex;position:static;transform:none}.bottom-tabs .sidebar-logout{border:1px solid var(--line);box-shadow:none;color:var(--leaf);background:#fff;border-radius:999px;min-height:34px;margin-top:auto;padding:0 12px;font-size:.82rem;line-height:1;display:flex}.bottom-tabs button{text-align:left;border-radius:10px;min-height:50px;padding:0 16px}.bottom-tabs .sidebar-logout{text-align:center;border-radius:999px;min-height:34px}.screen{gap:18px;padding:28px}.screen-title{background:linear-gradient(120deg, #123426f5, #123426ad), url(/assets/alpaca-hero-cartoon-DklAv82_.png) center 58% / cover no-repeat, var(--leaf-dark);border-radius:14px;margin:0;padding:30px}.screen-title h1{max-width:12ch;font-size:3.5rem}.form-grid,.search-controls,.scan-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.search-controls{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr)}.today-screen{grid-template-columns:minmax(0,1fr) minmax(340px,380px);align-items:start}.today-screen .hero-panel{grid-column:1;align-content:end;min-height:430px;padding:34px}.today-screen .hero-panel .hero-copy label,.today-screen .hero-panel .progress-track{width:100%;max-width:560px}.today-sidebar{grid-area:1/2;align-self:start;position:sticky;top:18px}.today-sidebar .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-log-panel{grid-column:1/-1}.hero-panel h1{max-width:11ch;font-size:4.25rem}.calorie-number strong{font-size:6.2rem}.paca-pet-card{text-align:left;grid-template-columns:164px minmax(0,1fr);align-self:end;justify-items:stretch;gap:14px;padding:10px}.paca-stage{width:100%;min-height:142px;padding:8px}.paca-pet{width:158px}.paca-pet.paca-emote{width:auto;max-height:132px}.summary-grid{gap:14px}.metric-card,.panel,.calendar-card,.calendar-list-card,.selected-day-card{padding:20px}.metric-card strong{font-size:2.8rem}.log-screen{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.log-screen .screen-title,.log-screen .custom-form{grid-column:1/-1}.log-screen .sticky-log{grid-area:2/2/span 2;align-self:start;max-height:calc(100svh - 56px);position:sticky;top:18px;overflow:auto}.log-screen .scan-panel,.log-screen .food-search-panel{grid-column:1}.log-screen .search-controls{grid-template-columns:1fr}.food-results{max-height:520px}.calendar-screen{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.calendar-screen .screen-title{grid-column:1/-1}.calendar-card{grid-column:1}.calendar-screen .selected-day-card{grid-column:2;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;position:sticky;top:18px}.calendar-screen .selected-day-card h2{font-size:2.15rem}.calendar-screen .selected-day-stats{justify-content:flex-start}.calendar-day{min-height:124px}.coach-screen{grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:100%}.ai-chat-panel{grid-column:1;min-height:calc(100svh - 56px)}.coach-meter{grid-template-columns:1fr}.suggestion-list{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-note{grid-column:1/-1}.profile-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.profile-screen .screen-title,.profile-screen .health-panel,.profile-screen>.secondary-button{grid-column:1/-1}}@media (width>=1220px){.log-screen{grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.log-screen .search-controls{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.8fr) minmax(150px,.8fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important}}
