.records-main{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:44px 0 76px}.meal-detail-dialog button,.records-main button{font:inherit;cursor:pointer}.meal-detail-dialog button:focus-visible,.meal-detail-dialog summary:focus-visible,.records-main button:focus-visible{outline:3px solid var(--green-600);outline-offset:4px}.record-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.record-eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:.16em;line-height:1.5;color:var(--green-700);margin:0 0 9px}.records-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:31px}.records-intro h1{text-align:left;font-size:clamp(24px,3vw,32px);line-height:1.4;margin:0;font-weight:750;letter-spacing:-.045em}.records-intro p:last-child{margin:8px 0 0;color:var(--ink-soft);font-size:14px}.record-button,.record-icon-button{color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:12px;min-height:44px;font-size:13px!important;font-weight:600!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;flex-shrink:0}.record-icon-button{width:44px;padding:8px}.record-button:hover,.record-icon-button:hover{background:var(--green-100);border-color:#bed4c4}.record-week-panel{padding:24px 25px 15px;background:var(--white);border:1px solid var(--line);border-radius:23px;box-shadow:0 6px 25px -20px #34493633}.record-week-controls,.record-week-heading{display:flex;align-items:center;gap:8px}.record-week-heading{justify-content:space-between;margin-bottom:24px}.record-week-heading .record-eyebrow{margin-bottom:4px}.record-week-heading h2{margin:0;font-size:19px;letter-spacing:-.035em}.record-week-heading h2>span{margin-left:14px;font-size:15px;color:var(--ink-soft);font-weight:500}.record-today-button{margin-right:8px}.record-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}.record-day-button{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink);background:#f9f9f5;border:1px solid transparent;border-radius:16px;padding:12px 4px 14px;transition:background .12s ease,border-color .12s ease}.record-day-button:hover{border-color:#abcab4;background:#eef4ed}.record-day-button.is-selected{background:#edf4ed;border-color:var(--green-700);box-shadow:inset 0 0 0 1px var(--green-700)}.record-day-weekday{font-size:12px;color:var(--ink-soft);margin-bottom:2px}.record-day-number{position:relative;font-size:23px;font-weight:600;letter-spacing:-.04em;line-height:1.5}.record-day-button.is-today .record-day-number i{position:absolute;width:4px;height:4px;right:-8px;top:7px;background:var(--green-700);border-radius:50%}.record-day-photo{width:57px;height:57px;display:block;overflow:hidden;border-radius:50%;background:#f0eee5;margin:8px 0 9px;color:#a3b2a3}.record-day-photo>svg{width:39px;height:39px;margin-top:9px}.record-day-button.is-selected .record-day-photo{background:#deeadc}.record-day-kcal{font-size:15px;line-height:1.4;font-weight:650;white-space:nowrap}.record-day-kcal>small{font-size:10px;font-weight:400;color:var(--ink-soft)}.record-day-kcal>small:not(:first-child){margin-left:2px}.record-day-kcal>small{display:inline}.record-day-count{font-size:10px;color:var(--ink-soft);margin-top:2px}.record-week-footnote{font-size:10px;color:var(--ink-soft);text-align:right;margin:12px 0 0}.record-day-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:35px 0 18px;gap:16px}.record-day-heading .record-eyebrow{margin-bottom:5px}.record-day-heading h2{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:22px;line-height:1.5;font-weight:650;margin:0;letter-spacing:-.04em}.record-day-heading>span{padding-bottom:4px;color:var(--ink-soft);font-size:12px}.record-tag{display:inline-flex;align-items:center;padding:3px 9px;color:var(--green-700);font-size:11px;font-weight:650;line-height:1.6;border-radius:6px;background:var(--green-100);white-space:nowrap}.record-daily-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,1fr);align-items:start;grid-gap:26px;gap:26px}.record-section-title{margin:0 0 13px;font-size:14px;color:var(--ink-soft);font-weight:550}.record-meal-cards{display:grid;grid-gap:16px;gap:16px}.record-meal-card{display:grid;grid-template-columns:38% minmax(0,1fr);background:var(--white);border:1px solid var(--line);border-radius:19px;overflow:hidden;min-height:210px}.record-meal-photo{position:relative;overflow:hidden;min-height:210px}.record-photo-image{display:block;width:100%;height:100%;object-fit:cover}.record-meal-photo>.record-photo-image{position:absolute;inset:0}.record-photo-placeholder{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;gap:10px;background:linear-gradient(140deg,#f0eee4,#e5ecdf);color:#759078}.record-photo-placeholder>span{font-size:10px;color:#526c54;text-align:center}.record-photo-placeholder.is-compact{padding:6px;gap:0}.record-photo-placeholder.is-compact>svg{width:35px;height:35px}.record-photo-retry{border:1px solid #a5b9a4;background:#ffffff99;color:#355e3e;font-size:11px!important;min-height:44px;padding:6px 9px;border-radius:8px}.record-meal-content{display:flex;flex-direction:column;align-items:stretch;text-align:left;min-width:0;padding:22px 22px 18px;border:0;background:none;color:var(--ink)}.record-meal-content:hover{background:#fbfcf8}.record-meal-content:focus-visible{outline-offset:-5px!important;border-radius:14px}.record-meal-meta{display:flex;align-items:center;gap:10px}.record-meal-meta>time{color:var(--ink-soft);font-size:11px}.record-meal-title{font-size:19px;line-height:1.45;font-weight:650;letter-spacing:-.035em;margin:12px 0 6px;overflow-wrap:anywhere}.record-meal-count{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--ink-soft)}.record-check-tag{font-size:10px;color:#795323;background:#faf2e2;border-radius:5px;padding:1px 5px}.record-meal-footer{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.record-meal-footer>strong{font-size:23px;line-height:1.4;font-weight:650;letter-spacing:-.05em}.record-meal-footer small{font-size:11px;font-weight:400;letter-spacing:0;color:var(--ink-soft)}.record-meal-footer>span{display:flex;align-items:center;gap:2px;color:var(--green-700);font-size:11px}.record-meal-footer>span svg{width:14px}.record-summary-panel{border:1px solid var(--line);border-radius:19px;background:var(--white);padding:22px}.record-summary-panel>.record-section-title{color:var(--ink);font-weight:650;font-size:16px}.record-calorie-card{padding:20px;background:#164f3d;color:#fff;border-radius:14px}.record-calorie-card>span{display:block;font-size:12px;color:#d6e4d7}.record-calorie-card>strong{display:block;font-size:46px;font-weight:600;line-height:1.3;letter-spacing:-.045em;margin-top:4px}.record-calorie-card>strong small{font-size:15px;font-weight:400;margin-left:8px;color:#d6e4d7;letter-spacing:0}.record-calorie-goal{display:flex;gap:8px;justify-content:space-between;align-items:baseline;font-size:10px;margin-top:16px;color:#d6e4d7}.record-calorie-goal strong{font-size:12px;font-weight:500;color:#fff;white-space:nowrap}.record-progress{overflow:hidden;height:5px;border-radius:10px;background:#ffffff26;margin:9px 0}.record-progress>span{display:block;height:100%;border-radius:inherit;background:#c7db8d}.record-calorie-card p{color:#e4eddc;margin:9px 0 0;font-size:10px;line-height:1.7}.record-calorie-card .record-no-goal{margin-top:13px}.record-nutrients{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px 12px;gap:18px 12px;margin:24px 0 18px}.record-nutrient dt{display:flex;align-items:center;gap:5px;color:var(--ink-soft);font-size:10px;white-space:nowrap}.record-nutrient dt i{width:5px;height:5px;background:#969e6a;border-radius:50%;flex-shrink:0}.record-nutrient.tone-protein dt i{background:#55917a}.record-nutrient.tone-fat dt i{background:#c49d5e}.record-nutrient.tone-sodium dt i{background:#7798a2}.record-nutrient.tone-sugar dt i{background:#b48182}.record-nutrient.tone-fiber dt i{background:#819469}.record-nutrient dd{font-size:20px;letter-spacing:-.04em;font-weight:600;margin:4px 0 0;overflow-wrap:anywhere}.record-nutrient dd span{color:var(--ink-soft);font-size:10px;font-weight:400;margin-left:3px;letter-spacing:0}.record-nutrient.is-missing dd{font-size:12px;color:var(--ink-soft);font-weight:400;line-height:30px}.record-footnote{font-size:11px;line-height:1.8;color:var(--ink-soft);margin:12px 0;overflow-wrap:anywhere}.record-missing-note{background:#f8f7f2;border-radius:9px;padding:10px 11px;margin-bottom:16px;font-size:10px}.record-sodium-reference{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}.record-sodium-reference>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:10px;color:var(--ink-soft)}.record-sodium-reference strong{font-size:12px;color:var(--ink);font-weight:550}.record-sodium-track{height:4px;background:#f0eee5;border-radius:8px;margin:9px 0;overflow:hidden}.record-sodium-track>span{display:block;height:100%;background:#8ea5a1;border-radius:inherit}.record-sodium-reference p{font-size:10px;color:var(--ink-soft);margin:7px 0 0}.record-verdict{margin:20px 0 0;font-size:11px;color:var(--green-700);line-height:1.8;display:flex;align-items:flex-start;gap:9px}.record-verdict>span{flex-shrink:0;font-size:18px;line-height:1.2}.record-activity{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.record-activity h4{font-size:11px;font-weight:600;margin:0 0 10px}.record-activity dl{display:grid;grid-gap:7px;gap:7px;margin:0}.record-activity dl>div{display:flex;justify-content:space-between;font-size:11px}.record-activity dt{color:var(--ink-soft)}.record-activity dd{margin:0}.record-empty{background:var(--white);border:1px solid var(--line);border-radius:19px;min-height:432px;padding:40px 28px 26px;text-align:center}.record-empty-art{position:relative;display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:#edf1e6;color:#6c8a6c;margin:0 auto 20px;box-shadow:17px -5px 0 -7px #f7f4e9,-13px 10px 0 -5px #f3f5ed}.record-empty-art>svg{width:74px;height:74px}.record-empty-art>span{width:30px;height:30px;border:4px solid #fff;position:absolute;right:-4px;bottom:8px;border-radius:50%;color:#fff;background:var(--green-700);line-height:21px;font-size:20px}.record-empty>h3{font-size:19px;font-weight:600;margin:0 0 8px;letter-spacing:-.035em}.record-empty>p{color:var(--ink-soft);font-size:12px;margin:0;line-height:1.9}.record-connection-note{text-align:left;background:#f6f7f1;padding:14px 16px;margin-top:28px;border-radius:11px}.record-connection-note>strong{font-size:11px;font-weight:600;color:var(--green-700)}.record-connection-note>p{margin:5px 0 0;font-size:11px;line-height:1.8;color:var(--ink-soft)}.record-loading{min-height:200px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;color:var(--ink-soft)}.record-spinner{width:18px;height:18px;border-radius:50%;border:2px solid #cddace;border-top:2px solid var(--green-700);animation:record-spin .8s linear infinite}@keyframes record-spin{to{transform:rotate(1turn)}}.record-error{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;color:#843d30;background:#fff4ee;border:1px solid #eed4c6;border-radius:13px;margin:14px 0;font-size:12px}.record-error strong{font-weight:600}.record-error p{margin:4px 0 0;overflow-wrap:anywhere}.record-error>p{margin:0}.record-summary-placeholder{min-height:285px;display:grid;place-content:center;color:var(--ink-soft);text-align:center;font-size:12px;padding:20px}.record-meal-skeletons{display:grid;grid-gap:16px;gap:16px}.record-meal-skeletons>div{height:210px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(110deg,#edece4,#f8f7f1 50%,#edece4);background-size:200% 100%;animation:record-skeleton 1.6s ease-in-out infinite}@keyframes record-skeleton{to{background-position:-200% 0}}.meal-detail-dialog{width:min(760px,calc(100% - 40px));max-height:min(920px,calc(100dvh - 56px));margin:auto;padding:0;border:1px solid var(--line);border-radius:23px;background:var(--white);color:var(--ink);box-shadow:0 25px 100px #102c2855;overflow:hidden}.meal-detail-dialog[open]{display:flex;flex-direction:column}.meal-detail-dialog::-webkit-backdrop{background:#142b2466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.meal-detail-dialog::backdrop{background:#142b2466;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.meal-detail-top{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 25px 19px;gap:16px;border-bottom:1px solid var(--line);flex-shrink:0}.meal-detail-top .record-eyebrow{margin-bottom:4px}.meal-detail-top h2{font-size:23px;line-height:1.45;margin:0;font-weight:650;letter-spacing:-.04em;overflow-wrap:anywhere}.meal-detail-scroll{overflow-y:auto;overscroll-behavior:contain}.meal-detail-photo{height:280px;background:#edf0e5}.meal-detail-photo .record-photo-image{object-fit:cover}.meal-detail-photo .record-photo-placeholder>svg{width:72px;height:72px}.meal-detail-photo .record-photo-placeholder>span{font-size:12px}.meal-detail-content{padding:24px 28px 28px}.meal-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ink-soft);font-size:12px}.meal-detail-energy{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:17px 0 4px}.meal-detail-energy>strong{font-size:40px;line-height:1.3;letter-spacing:-.045em;font-weight:650}.meal-detail-energy>strong>span{font-size:15px;color:var(--ink-soft);font-weight:400;letter-spacing:0;margin-left:7px}.meal-detail-energy>span{color:var(--ink-soft);font-size:12px}.meal-detail-content>.record-nutrients{background:#f7f8f2;border-radius:13px;padding:19px 20px;margin:20px 0 12px}.meal-detail-content>.record-nutrients .record-nutrient dd{font-size:24px}.meal-detail-content>.record-nutrients .record-nutrient.is-missing dd{font-size:13px;line-height:37px}.meal-detail-items{margin-top:27px}.meal-detail-content h3{font-size:15px;font-weight:650;margin:0 0 12px;letter-spacing:-.03em}.meal-detail-content h3>span{color:var(--green-700);font-size:13px;padding-left:5px}.meal-detail-item{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}.meal-detail-item>summary{display:flex;align-items:center;padding:15px 17px;gap:15px;cursor:pointer;min-height:74px;list-style:none}.meal-detail-item>summary::-webkit-details-marker{display:none}.meal-detail-item>summary:hover{background:#fafbf7}.meal-detail-item>summary>div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.meal-detail-item>summary strong{font-weight:550;font-size:14px;overflow-wrap:anywhere}.meal-detail-item>summary>div>span{color:var(--ink-soft);font-size:11px}.meal-item-kcal{font-size:15px;white-space:nowrap}.meal-item-kcal>small{font-size:10px;color:var(--ink-soft)}.meal-detail-item>summary>svg{flex-shrink:0;color:var(--ink-soft)}.meal-detail-item[open]>summary>svg{transform:rotate(180deg)}.meal-item-nutrition{border-top:1px solid var(--line);padding:12px 17px 17px;background:#f9faf7}.meal-item-nutrition>.record-footnote{margin:0 0 8px}.record-nutrients.is-small{gap:10px;margin:0}.record-nutrients.is-small .record-nutrient dd{font-size:17px}.record-nutrients.is-small .record-nutrient.is-missing dd{font-size:11px;line-height:26px}.meal-detail-note{margin-top:23px;padding:16px 17px;background:#f8f5ed;border-radius:11px}.meal-detail-note h3{font-size:12px;margin-bottom:8px}.meal-detail-note p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.meal-detail-zone{text-align:center;margin:23px 0 0;font-size:10px}.meal-detail-dialog>.record-error{margin:20px}@media (max-width:940px){.record-daily-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.record-meal-card{grid-template-columns:1fr}.record-meal-photo{height:185px;min-height:185px}.record-meal-content{padding:18px 20px}.record-meal-title{margin-top:9px}.record-week-grid{gap:7px}}@media (max-width:720px){.records-main{width:calc(100% - 32px);padding-top:29px}.records-intro{gap:10px;align-items:start;margin-bottom:23px}.records-intro h1{font-size:25px}.records-intro p:last-child{font-size:12px;max-width:230px}.record-refresh{padding:8px;font-size:0!important;width:44px;gap:0;margin-top:18px}.record-refresh svg{width:18px;height:18px}.record-daily-layout{display:flex;flex-direction:column;gap:23px}.record-meals-section,.record-summary-panel{width:100%}.record-meal-card{grid-template-columns:36% minmax(0,1fr);min-height:190px}.record-meal-photo{min-height:190px;height:auto}.record-calorie-card,.record-summary-panel{padding:22px}.record-calorie-goal{font-size:12px}.record-calorie-card p{font-size:11px}.record-calorie-card>strong{font-size:45px}.record-nutrient dt{font-size:11px}.record-nutrient dd{font-size:24px}.record-nutrient.is-missing dd{line-height:37px}.record-day-heading{margin-top:28px}}@media (max-width:540px){.record-eyebrow{font-size:9px}.records-intro h1{font-size:23px}.record-week-panel{padding:18px 11px 12px;border-radius:17px}.record-week-heading{padding:0 3px;margin-bottom:18px;gap:5px}.record-week-heading h2{font-size:16px;line-height:1.6}.record-week-heading h2>span{display:block;margin:0;font-size:11px}.record-week-controls{gap:4px}.record-week-controls .record-icon-button{width:38px;padding:7px}.record-today-button{margin-right:1px;padding:8px 11px;font-size:11px!important}.record-week-grid{gap:4px}.record-day-button{padding:10px 2px 11px;border-radius:11px}.record-day-weekday{font-size:10px}.record-day-number{font-size:21px}.record-day-photo{display:none}.record-day-kcal{font-size:10px;margin-top:7px}.record-day-kcal>small{display:block;margin:2px 0 0!important;font-size:8px}.record-day-count{display:none}.record-week-footnote{font-size:9px;margin-top:11px}.record-day-heading h2{font-size:19px;gap:7px}.record-day-heading>span{font-size:10px;white-space:nowrap}.record-meal-card{grid-template-columns:34% minmax(0,1fr);min-height:190px;border-radius:15px}.record-meal-content{padding:17px 15px}.record-meal-title{font-size:17px;margin-top:10px}.record-meal-footer{gap:2px;padding-top:13px}.record-meal-footer>strong{font-size:21px}.record-meal-footer>span{font-size:10px}.record-meal-photo .record-photo-placeholder{padding:8px}.record-meal-photo .record-photo-placeholder>svg{width:39px;height:39px}.record-meal-photo .record-photo-placeholder>span{font-size:9px}.record-photo-retry{font-size:9px!important;padding:6px}.record-empty{min-height:410px;padding:33px 20px 22px}.record-summary-panel{padding:19px;border-radius:16px}.record-error{padding:14px;gap:10px;align-items:start;flex-direction:column}.record-error .record-button{align-self:flex-end}.meal-detail-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:17px}.meal-detail-top{padding:18px 17px 15px}.meal-detail-top h2{font-size:20px}.meal-detail-photo{height:215px}.meal-detail-content{padding:20px 17px 24px}.meal-detail-meta{font-size:11px}.meal-detail-energy>strong{font-size:34px}.meal-detail-energy>span{font-size:11px}.meal-detail-content>.record-nutrients{padding:16px 13px}.meal-detail-content>.record-nutrients .record-nutrient dd{font-size:21px}.meal-detail-content>.record-nutrients .record-nutrient.is-missing dd{font-size:11px}.meal-detail-item>summary{padding:13px;gap:9px}.meal-detail-item>summary strong,.meal-item-kcal{font-size:13px}}@media (prefers-reduced-motion:reduce){.record-meal-skeletons>div,.record-spinner{animation:none}.record-day-button{transition:none}}