.more-links a.mealsnap-link{border:1px solid var(--line);min-height:56px;color:var(--ink);border-radius:14px;align-items:center;gap:13px;padding:10px 12px;font-weight:700;text-decoration:none;display:flex}.more-links a.mealsnap-link svg:last-child{margin-left:auto}.mealsnap-link:focus-visible,.meal-shell a:focus-visible,.meal-file-button:focus-within{outline-offset:3px;outline:3px solid #1e668b}.meal-header{align-items:center;gap:12px;margin-bottom:28px;display:flex}.meal-header h1{margin:0;font-size:26px}.meal-header p{color:var(--muted);margin:4px 0 0;font-size:13px}.meal-header a{color:var(--ink);flex:none;text-decoration:none}.meal-header>div{flex:1;min-width:0}.meal-header>.meal-header-actions{flex:none;align-items:center;gap:8px;display:flex}.meal-tabs{margin-bottom:24px}.meal-bottom-nav a{text-decoration:none}.meal-shell :is(button,input,textarea,summary){scroll-margin-block:24px 120px}.meal-shell h2{margin:0 0 12px;font-size:23px}.saved-meal-photo{object-fit:contain;border-radius:12px;width:100%;max-height:320px;margin-top:12px;display:block}.meal-help,.meal-status{color:var(--muted);overflow-wrap:anywhere;font-size:13px;line-height:1.6}.meal-status:empty{display:none}.meal-status.error{color:#a32620}.nutrition-summary{text-align:center;background:#f4faf6;border:1px solid #bad4c3;border-radius:24px;margin:18px 0;padding:24px 16px}.nutrition-summary p{color:var(--muted);margin:8px 0;font-size:13px}.calorie-ring{aspect-ratio:1;place-items:center;width:190px;max-width:100%;margin:16px auto 24px;display:grid;position:relative}.calorie-ring svg{fill:none;stroke-width:9px;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{stroke:var(--ink)}#calorie-progress{stroke:var(--green);stroke-linecap:round;stroke-dasharray:0 100}.calorie-ring strong{overflow-wrap:anywhere;max-width:130px;font-size:clamp(28px,9vw,40px);line-height:1.2;display:block}.calorie-ring span{color:var(--muted);font-size:12px}.calorie-goal-stats{flex-wrap:wrap;justify-content:center;gap:14px;margin:0;display:flex}.calorie-goal-stats>div{background:#e7f9f0;border-radius:12px;flex:1;min-width:90px;padding:12px 5px}.calorie-goal-stats dt{color:var(--green);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.calorie-goal-stats dd{overflow-wrap:anywhere;margin:8px 0 0;font-size:14px;font-weight:700}.goal-settings{text-align:left}.macro-cards,.history-stats{gap:8px;margin:16px 0 20px;display:grid}.macro-cards>div,.history-stats>div{border:1px solid var(--line);background:#f5f7f7;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.macro-cards dt,.history-stats dt{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.macro-cards dt>svg,.history-stats dt>svg{color:var(--green)}.macro-cards dd,.history-stats dd{overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:700}.meal-nutrition-note{color:var(--muted);margin:-8px 0 20px;font-size:12px;line-height:1.5}.history-filters{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.history-filters button{min-height:44px;color:var(--ink);background:#fff;border:1px solid #767b80;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700}.history-filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.history-entry summary{gap:5px;display:grid}.history-entry summary:after{content:"Lihat detail";color:var(--green);font-size:12px}.history-entry[open] summary:after{content:"Tutup detail"}.history-entry time,.history-entry summary>span{color:var(--muted);font-size:12px}.meal-list-title{margin:28px 0 12px;font-size:17px}.meal-entry{border-bottom:1px solid var(--line);padding:16px 0}.meal-entry h3{overflow-wrap:anywhere;margin:0 0 6px;font-size:16px}.meal-entry p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;font-size:13px}.meal-shell .primary-button{justify-content:center;align-items:center;gap:8px;display:flex}.camera-surface{background:var(--quiet);border:1px solid #767b80;border-radius:22px;place-items:center;min-height:210px;margin-block:20px 12px;padding:12px;display:grid}#camera-empty{text-align:center;color:var(--muted);font-size:13px}.camera-surface img,.camera-surface video{object-fit:contain;border-radius:12px;width:100%;max-height:380px;display:block}.camera-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.meal-file-button{cursor:pointer;border:1px solid #767b80;border-radius:12px;place-items:center;min-height:48px;padding:8px 16px;font-size:13px;font-weight:700;display:grid;position:relative}.meal-file-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.meal-shell input,.meal-shell textarea{border-color:#767b80;width:100%;min-width:0}.meal-shell details{margin:20px 0}.meal-shell summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px}.food-field{border:1px solid var(--line);border-radius:14px;margin:14px 0;padding:16px}.food-field legend{font-size:13px;font-weight:700}.food-field label{margin-bottom:8px;font-size:13px}.food-field .form-row{gap:12px}.food-field button{min-height:44px}.meal-messages{overscroll-behavior:contain;flex:1;align-content:start;gap:16px;min-height:0;margin:0;padding:2px 3px 12px;display:grid;position:relative;overflow:auto}.meal-bubble{background:var(--quiet);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;padding:14px 16px;font-size:14px;line-height:1.6}.meal-bubble.user{background:var(--green-tint)}.meal-bubble strong{font-weight:600}#meal-chat:not([hidden]){flex-direction:column;flex:1;gap:12px;min-height:0;padding-top:16px;display:flex}.nutrition-chat-header{align-items:center;gap:10px;display:flex}.nutrition-chat-header>div{flex:1;min-width:0}.nutrition-chat-header h2{margin:0 0 4px;font-size:18px;font-weight:600}.nutrition-chat-header p{color:var(--muted);margin:0;font-size:12px}.chat-mark,.chat-avatar{background:var(--green-tint);color:var(--green);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.chat-avatar{border-radius:9px;width:28px;height:28px}.chat-avatar svg{width:18px;height:18px}.chat-message-row{align-items:flex-end;gap:8px;display:flex}.chat-message .meal-bubble{border-bottom-left-radius:4px;max-width:calc(100% - 36px)}.chat-message.user .chat-message-row{justify-content:flex-end}.chat-message.user .meal-bubble{border-bottom-right-radius:4px;border-bottom-left-radius:16px}.chat-message time{color:var(--muted);margin:5px 0 0 36px;font-size:10px;display:block}.chat-message.user time{text-align:right;margin-left:0}.chat-suggestions{flex-wrap:wrap;gap:7px;margin:10px 0 0 36px;display:flex}.chat-suggestions button{border:1px solid var(--green);background:var(--green-tint);min-height:44px;color:var(--green);font:inherit;text-align:left;border-radius:16px;padding:8px 12px;font-size:12px;line-height:1.45}.chat-composer{border-top:1px solid var(--line);padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--page);flex:none;position:relative}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-photo-button{width:44px;height:48px;color:var(--green);background:var(--quiet);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.chat-photo-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.chat-photo-button:focus-within,.meal-messages:focus-visible{outline:2px solid var(--green);outline-offset:2px}.meal-shell #meal-message{resize:none;border:1px solid var(--line);background:var(--quiet);border-radius:14px;flex:1;min-width:0;height:48px;min-height:48px;max-height:48px;padding:12px;font-size:16px;font-weight:400;line-height:22px}#send-meal-message{background:var(--green-fill,var(--green));width:44px;height:48px;color:var(--page);border:0;border-radius:12px;flex:none;place-items:center;display:grid}.chat-attachment{color:var(--muted);align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.chat-attachment img{object-fit:cover;border-radius:8px;width:48px;height:48px}.chat-attachment span{flex:1}.chat-composer .meal-status{margin:8px 0 0;font-size:12px}.chat-pending{color:var(--muted);margin-left:36px;font-size:12px}.meal-shell :is(button,a,input,textarea,summary):focus-visible{outline-offset:3px;outline:3px solid #1e668b}.meal-shell .text-button{border:1px solid #767b80;border-radius:12px;padding-inline:14px}#meal-chat-more{display:none}html:has(.meal-shell #meal-chat:not([hidden])),body:has(.meal-shell #meal-chat:not([hidden])){overscroll-behavior:none;height:100%;overflow:hidden}.meal-shell:has(#meal-chat:not([hidden])){flex-direction:column;height:100dvh;min-height:0;padding-top:0;padding-bottom:0;display:flex;overflow:hidden}.meal-shell:has(#meal-chat:not([hidden])) .meal-header{padding-block:calc(12px + env(safe-area-inset-top)) 12px;flex:none;margin-top:0;margin-bottom:12px;position:static}.meal-shell:has(#meal-chat:not([hidden])) .meal-header h1{font-size:22px}.meal-shell:has(#meal-chat:not([hidden])) #meal-chat-more{display:grid}.meal-shell:has(#meal-chat:not([hidden])) :is(.meal-bottom-nav,#meal-sticker-status){display:none}.meal-shell:has(#meal-chat:not([hidden])) .meal-tabs{flex:none;margin-bottom:0}.meal-shell:has(#meal-chat:not([hidden]))>main{flex:1;min-height:0;display:flex}.meal-shell:has(#meal-chat:not([hidden])) #meal-chat{width:100%;min-width:0}
