:root{color:#15231b;font-synthesis:none;text-rendering:optimizelegibility;--background:#f6f8f7;--surface:#fff;--surface-secondary:#f0f5f2;--primary:#20b86a;--primary-pressed:#159857;--primary-soft:#e5f8ee;--text-primary:#15231b;--text-secondary:#607168;--text-tertiary:#98a69f;--border:#e6ece8;--warning:#f19a4a;--warning-soft:#fff1e2;--danger:#d95c5c;--shadow:0 8px 24px #19372814;--floating-shadow:0 12px 32px #19372824;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f6f8f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}:root[data-theme=dark]{--background:#0f1512;--surface:#17201b;--surface-secondary:#1d2922;--primary:#42d889;--primary-pressed:#2fbe75;--primary-soft:#173a28;--text-primary:#f3f7f5;--text-secondary:#b8c4bd;--text-tertiary:#7f8e86;--border:#2a3730;--warning:#f4a65e;--warning-soft:#3a2a1c;--danger:#ef7a7a;--shadow:0 8px 24px #0000003d;--floating-shadow:0 12px 32px #00000057;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--background);min-height:100%}body{min-width:320px;min-height:100dvh;color:var(--text-primary);background:var(--background);overscroll-behavior-y:none;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{font-size:16px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.app-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.app-shell{min-height:100dvh}.main-content{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.main-content.immersive{padding-bottom:0}.page{width:min(100%,560px);padding:calc(16px + env(safe-area-inset-top)) 16px 32px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px}.page-header{justify-content:space-between;align-items:center;gap:12px;min-height:62px;margin-bottom:18px;display:flex}.header-title{text-align:center}.header-title.left{text-align:left}.header-title h1{letter-spacing:-.03em;font-size:22px;line-height:1.2}.header-title p{color:var(--text-secondary);margin-top:4px;font-size:12px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--primary)!important;font-size:12px!important}.icon-button{background:var(--surface-secondary);border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.icon-button.quiet{background:0 0}.text-button{min-height:44px;color:var(--primary);background:0 0;padding:0 8px;font-weight:700}.text-button.wide{width:100%}.brand-mini,.app-mark{color:#fff;background:linear-gradient(145deg,#36d37d,#139653);justify-content:center;align-items:center;font-weight:800;display:inline-flex;box-shadow:0 10px 24px #20b86a40}.brand-mini{border-radius:12px;width:35px;height:35px}.app-mark{border-radius:23px;width:72px;height:72px;font-size:30px}.primary-button,.secondary-button,.danger-button{border-radius:15px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#23c574,#12a85c);box-shadow:0 10px 24px #20b86a33}.primary-button:active{background:var(--primary-pressed);transform:translateY(1px)}.secondary-button{color:var(--primary);background:var(--primary-soft)}.danger-button{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.wide{width:100%}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.muted{color:var(--text-secondary);font-size:14px;line-height:1.6}.status-banner{z-index:50;top:env(safe-area-inset-top);color:#fff;text-align:center;width:min(100% - 24px,536px);box-shadow:var(--shadow);background:#596b62;border-radius:0 0 14px 14px;padding:10px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.update-banner{background:var(--primary);justify-content:center;align-items:center;gap:12px;display:flex}.update-banner button{color:#fff;background:#ffffff2e;border-radius:9px;min-height:32px;padding:0 10px;font-weight:700}.bottom-nav{z-index:30;width:min(100%,560px);height:calc(68px + env(safe-area-inset-bottom));padding:8px 10px env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{min-height:52px;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.nav-icon{border-radius:10px;justify-content:center;align-items:center;width:31px;height:27px;display:flex}.nav-item.active{color:var(--primary)}.nav-item.active:not(.nav-add) .nav-icon{background:var(--primary-soft)}.nav-add{transform:translateY(-13px)}.nav-add .nav-icon{color:#fff;background:linear-gradient(145deg,#2bc979,#13a95d);border-radius:50%;width:52px;height:52px;box-shadow:0 9px 22px #20b86a52}.nav-add .app-icon{stroke-width:2px;width:27px;height:27px}.splash,.fatal-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.splash h1,.fatal-state h1{margin-top:20px;font-size:26px}.splash p,.fatal-state p{color:var(--text-secondary);margin:8px 0 22px;line-height:1.55}.modal-backdrop{z-index:100;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06120b7a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onboarding-card,.confirm-card{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:28px;width:min(100%,450px);max-height:100%;padding:28px 22px 20px;overflow-y:auto;box-shadow:0 24px 80px #05190e40}.onboarding-card .app-mark{border-radius:20px;width:62px;height:62px;margin-bottom:18px;font-size:25px}.onboarding-card h1{max-width:330px;margin:5px auto 20px;font-size:25px;line-height:1.28}.feature-list{text-align:left;gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.feature-list li{background:var(--surface-secondary);border-radius:15px;align-items:center;gap:11px;padding:12px;display:flex}.feature-list li>span{width:28px;height:28px;color:var(--primary);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.feature-list strong,.feature-list small{display:block}.feature-list strong{font-size:14px}.feature-list small{color:var(--text-secondary);margin-top:2px}.toast{z-index:120;left:50%;bottom:calc(85px + env(safe-area-inset-bottom));color:#fff;width:min(100% - 32px,430px);min-height:54px;box-shadow:var(--floating-shadow);background:#1d2c24;border-radius:17px;justify-content:space-between;align-items:center;padding:8px 10px 8px 17px;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:#65e79e;background:#ffffff1a;border-radius:12px;min-width:62px;min-height:38px;font-weight:700}.field-label{text-align:left;color:var(--text-secondary);gap:7px;font-size:13px;font-weight:650;display:grid}.field-label input,.field-label select,.field-label textarea,.setting-field input,.custom-dates input{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text-primary);background:var(--surface-secondary);resize:vertical;border-radius:14px;outline:none;padding:12px 14px}.field-label input:focus,.field-label select:focus,.field-label textarea:focus,.setting-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input-suffix{border:1px solid var(--border);background:var(--surface-secondary);border-radius:14px;align-items:center;display:flex;overflow:hidden}.input-suffix input{border:0;min-width:0;box-shadow:none!important}.input-suffix span{color:var(--text-secondary);padding-right:14px;font-size:13px}.inline-error{color:var(--danger);margin-top:8px;font-size:13px;line-height:1.45}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading h2{font-size:15px}.section-heading p{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.section-heading span{color:var(--text-tertiary);font-size:11px}.segment-control{background:var(--surface-secondary);border-radius:15px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;min-height:44px;padding:4px;display:grid}.segment-control button{min-height:38px;color:var(--text-secondary);white-space:nowrap;background:0 0;border-radius:12px;padding:0 12px;font-size:13px;font-weight:650}.segment-control button.active{color:#fff;background:var(--primary);box-shadow:0 5px 14px #20b86a33}.segment-control.compact{margin-top:7px}.segment-control.compact button{min-height:40px}.today-header{margin-bottom:14px}.overview-card{grid-template-columns:minmax(158px,.95fr) minmax(130px,1.05fr);align-items:center;gap:18px;padding:22px 18px;display:grid}.calorie-ring{aspect-ratio:1;width:min(42vw,190px);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent);border-radius:50%;place-items:center;margin:auto;padding:13px;transition:background .24s;display:grid;transform:rotate(-90deg)}.ring-inner{background:var(--surface);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;transform:rotate(90deg)}.ring-inner small{color:var(--text-secondary);font-size:11px}.ring-inner strong{letter-spacing:-.06em;margin:5px 0 2px;font-size:clamp(29px,8vw,39px)}.ring-inner span{color:var(--text-secondary);font-size:11px}.overview-metrics{gap:10px;display:grid}.metric-pill{background:var(--primary-soft);border-radius:16px;padding:13px}.metric-pill.warning{background:var(--warning-soft)}.metric-pill span,.metric-pill small{color:var(--text-secondary);font-size:11px}.metric-pill strong{color:var(--primary);letter-spacing:-.04em;margin:0 4px 0 8px;font-size:24px}.metric-pill.warning strong{color:var(--warning)}.mini-metric{background:var(--surface-secondary);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 13px;display:flex}.mini-metric span{color:var(--text-secondary);font-size:12px}.mini-metric strong{font-size:18px}.mini-metric small{font-size:11px}.privacy-note{color:var(--text-tertiary);font-size:10px}.privacy-dot,.secure-dot{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 4px var(--primary-soft);border-radius:50%;margin-right:5px;display:inline-block}.distribution-card{box-shadow:none;margin-top:12px;padding:15px}.distribution-bar{background:var(--surface-secondary);border-radius:999px;height:12px;margin-top:13px;display:flex;overflow:hidden}.distribution-bar span{min-width:0;transition:width .24s}.meal-breakfast{background:#68d780!important}.meal-lunch{background:#36b7d9!important}.meal-dinner{background:#ff9a61!important}.meal-snack{background:#9b7cf6!important}.distribution-legend{flex-wrap:wrap;gap:8px 13px;margin-top:10px;display:flex}.distribution-legend span{color:var(--text-secondary);align-items:center;gap:5px;font-size:10px;display:flex}.distribution-legend i,.donut-legend i{border-radius:50%;width:7px;height:7px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.meal-card{text-align:left;min-height:178px;padding:16px}.meal-card:active{transform:scale(.99)}.meal-card-head{justify-content:space-between;align-items:flex-start;gap:10px;min-height:48px;display:flex}.meal-card-head h2{font-size:17px}.meal-card-head strong{margin-top:5px;font-size:19px;display:block}.meal-card-head small{color:var(--text-secondary);font-size:10px;font-weight:500}.meal-emoji{font-size:22px}.meal-row{color:var(--text-secondary);justify-content:space-between;gap:8px;margin-top:9px;font-size:11px;display:flex}.meal-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-row small{flex:none}.more-row{color:var(--text-tertiary);margin-top:8px;font-size:10px}.empty-meal{height:90px;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.empty-meal span{background:var(--surface-secondary);width:30px;height:30px;color:var(--primary);border-radius:50%;place-items:center;font-size:20px;display:grid}.ai-card{color:#fff;text-align:left;background:linear-gradient(120deg,#10a95c,#28c87a);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;min-height:88px;margin-top:12px;padding:16px;display:grid;box-shadow:0 12px 28px #20b86a33}.ai-orb{background:#ffffff29;border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.ai-card strong,.ai-card span{display:block}.ai-card strong{font-size:14px;line-height:1.35}.ai-card div>span{color:#ffffffc7;margin-top:5px;font-size:11px}.ai-card .chevron{font-size:26px}.first-record{margin-top:12px}.add-page,.ai-page{min-height:100dvh;padding-bottom:calc(105px + env(safe-area-inset-bottom))}.immersive-header{z-index:12;margin:calc(-16px - env(safe-area-inset-top)) -16px 14px;padding:calc(12px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb, var(--background) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.header-save{min-width:52px}.meal-segment{margin-bottom:14px}.search-box{border:1px solid var(--border);background:var(--surface);min-height:50px;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:0 11px 0 14px;display:grid}.search-box .app-icon{width:19px;color:var(--text-tertiary)}.search-box input{background:0 0;border:0;outline:0;min-width:0;height:48px}.search-box button{background:var(--surface-secondary);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;font-size:20px}.chip-tabs{scrollbar-width:none;gap:8px;margin:14px 0 18px;display:flex;overflow-x:auto}.chip-tabs button{min-height:38px;color:var(--text-secondary);background:var(--surface-secondary);white-space:nowrap;border-radius:999px;padding:0 16px;font-size:13px}.chip-tabs button.active{color:var(--primary);background:var(--primary-soft);font-weight:700}.food-list,.selected-list{box-shadow:none;overflow:hidden}.food-row{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;min-height:72px;padding:9px 10px 9px 12px;display:grid}.food-row:last-child,.selected-row:last-child{border-bottom:0}.food-icon{background:var(--surface-secondary);border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.food-main{text-align:left;background:0 0;min-width:0;padding:6px 0}.food-main strong,.food-main span{display:block}.food-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.food-main span{color:var(--text-secondary);margin-top:5px;font-size:11px}.food-main em{color:var(--text-tertiary);background:var(--surface-secondary);border-radius:6px;padding:2px 5px;font-size:9px;font-style:normal}.add-food-button,.mini-icon-button{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:13px;place-items:center;display:grid}.mini-icon-button{width:36px;height:36px;color:var(--text-tertiary);background:0 0}.mini-icon-button .app-icon{width:17px}.create-food-button{border:1px dashed color-mix(in srgb, var(--primary) 35%, var(--border));width:100%;min-height:50px;color:var(--primary);background:0 0;border-radius:16px;justify-content:center;align-items:center;gap:7px;margin-top:10px;font-weight:700;display:flex}.create-food-button .app-icon{width:18px}.empty-card{text-align:center;box-shadow:none;padding:28px 20px}.empty-card>span{font-size:34px}.empty-card h3{margin-top:10px;font-size:16px}.empty-card p{max-width:320px;color:var(--text-secondary);margin:6px auto 16px;font-size:13px;line-height:1.55}.selected-section{margin-top:22px}.selected-section .section-heading{margin-bottom:10px}.selected-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(70px,1fr) auto auto;align-items:center;gap:9px;min-height:72px;padding:10px;display:grid}.selected-name{min-width:0}.selected-name strong,.selected-name span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selected-name strong{font-size:13px}.selected-name span{color:var(--primary);margin-top:4px;font-size:11px}.amount-input{border:1px solid var(--border);background:var(--surface-secondary);border-radius:12px;align-items:center;width:96px;min-height:42px;padding:0 9px;display:flex}.amount-input input{text-align:right;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:16px}.amount-input span{color:var(--text-secondary);margin-left:4px;font-size:11px}.mini-icon-button.remove{color:var(--text-tertiary);font-size:20px}.add-footer,.ai-footer{z-index:20;width:min(100%,560px);min-height:calc(82px + env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:space-between;align-items:center;gap:14px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.add-footer>div span,.add-footer>div strong{display:block}.add-footer>div span{color:var(--text-secondary);font-size:11px}.add-footer>div strong{color:var(--primary);margin-top:3px;font-size:24px}.add-footer>div small{color:var(--text-secondary);font-size:10px;font-weight:500}.add-footer .primary-button{min-width:142px}.sheet-backdrop{align-items:flex-end;padding:0}.bottom-sheet{width:min(100%,560px);max-height:calc(94dvh - env(safe-area-inset-top));padding:7px 18px calc(22px + env(safe-area-inset-bottom));background:var(--surface);border-radius:28px 28px 0 0;overflow-y:auto}.sheet-handle{background:var(--border);border-radius:99px;width:38px;height:5px;margin:3px auto 9px}.sheet-title{justify-content:space-between;align-items:center;min-height:50px;display:flex}.sheet-title h2{font-size:19px}.sheet-title button{min-height:44px;color:var(--primary);background:0 0;padding:0 8px;font-weight:700}.form-grid{gap:14px;display:grid}.two-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.history-page .page-header{margin-bottom:12px}.calendar-card{box-shadow:none;padding:14px}.month-switcher{justify-content:space-between;align-items:center;display:flex}.month-switcher strong{font-size:16px}.month-switcher .icon-button{background:var(--surface-secondary);font-size:26px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px;display:grid}.weekday-grid{color:var(--text-tertiary);text-align:center;margin:10px 0 2px;font-size:10px}.calendar-grid button{background:0 0;border:1px solid #0000;border-radius:13px;min-width:40px;min-height:42px;font-size:13px;position:relative}.calendar-grid button.today{border-color:var(--primary)}.calendar-grid button.selected{color:#fff;background:var(--primary);font-weight:800}.calendar-grid button i{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-grid button.over i{background:var(--warning)}.calendar-grid button.selected i{background:#fff}.calendar-key{color:var(--text-tertiary);justify-content:center;gap:16px;margin-top:10px;font-size:10px;display:flex}.calendar-key span{align-items:center;gap:5px;display:flex}.calendar-key i{background:var(--primary);border-radius:50%;width:6px;height:6px}.calendar-key i.over{background:var(--warning)}.day-summary{margin-top:20px}.day-heading{margin-bottom:12px}.day-heading p{color:var(--primary);font-weight:700}.day-heading h2{font-size:21px}.day-total{text-align:right}.day-total strong,.day-total span{display:block}.day-total strong{font-size:24px}.day-total span{color:var(--text-secondary);margin-top:3px;font-size:11px}.history-meals{gap:10px;display:grid}.history-meal{box-shadow:none;padding:14px}.history-meal-title{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:10px;display:flex}.history-meal-title>span{background:var(--surface-secondary);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.history-meal-title>div{flex:1}.history-meal-title>button{min-height:38px;color:var(--primary);background:var(--primary-soft);border-radius:11px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:700;display:flex}.history-meal-title>button .app-icon{width:15px}.history-meal-title h3{font-size:15px}.history-meal-title p{color:var(--text-secondary);margin-top:2px;font-size:11px}.history-entry{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:62px;display:grid}.history-entry:last-child{border-bottom:0}.history-entry>div:first-child strong,.history-entry>div:first-child span{display:block}.history-entry>div:first-child strong{font-size:13px}.history-entry>div:first-child span{color:var(--text-secondary);margin-top:4px;font-size:10px}.history-entry>strong{font-size:13px}.entry-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:6px;padding-bottom:8px;display:grid}.entry-actions button{min-height:38px;color:var(--text-secondary);background:var(--surface-secondary);border-radius:10px;place-items:center;display:grid}.entry-actions .app-icon{width:17px}.entry-actions .danger-icon{color:var(--danger)}.privacy-chip{min-height:31px;color:var(--primary);background:var(--primary-soft);border-radius:999px;align-items:center;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.stats-page>.segment-control{margin-bottom:12px}.custom-dates{box-shadow:none;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;margin-bottom:12px;padding:12px;display:grid}.custom-dates label{color:var(--text-secondary);gap:5px;font-size:10px;display:grid}.custom-dates span{color:var(--text-tertiary);padding-bottom:14px;font-size:11px}.stat-kpis{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-kpis section{box-shadow:none;padding:16px}.stat-kpis span,.stat-kpis small{color:var(--text-secondary);font-size:10px;display:block}.stat-kpis strong{letter-spacing:-.04em;margin:8px 4px 2px 0;font-size:27px;display:inline-block}.stat-kpis small{display:inline}.chart-card,.meal-share-card,.summary-card,.top-foods-card{box-shadow:none;margin-top:10px;padding:16px}.chart-card .section-heading h2{font-size:13px}.line-chart{margin-top:12px}.line-chart svg{width:100%;height:175px;overflow:visible}.chart-grid{fill:none;stroke:var(--border);stroke-width:1px}.goal-line{fill:none;stroke:var(--text-tertiary);stroke-width:1.5px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.calorie-line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-legend{color:var(--text-secondary);justify-content:center;gap:18px;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i{border-radius:2px;width:14px;height:3px}.chart-legend i.actual{background:var(--primary)}.chart-legend i.goal{background:var(--text-tertiary)}.chart-empty{height:175px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex}.chart-empty span{margin-bottom:8px;font-size:32px}.donut-layout{grid-template-columns:145px 1fr;align-items:center;gap:22px;margin-top:18px;display:grid}.donut{border-radius:50%;width:145px;height:145px;padding:20px}.donut>div{background:var(--surface);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.donut strong{font-size:19px}.donut span{color:var(--text-secondary);font-size:10px}.donut-legend{gap:12px;display:grid}.donut-legend div{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.donut-legend span{color:var(--text-secondary);align-items:center;gap:7px;display:flex}.summary-kpis{grid-template-columns:repeat(3,1fr);margin-top:18px;display:grid}.summary-kpis div{text-align:center;border-right:1px solid var(--border);padding:0 8px}.summary-kpis div:last-child{border-right:0}.summary-kpis span,.summary-kpis strong,.summary-kpis small{display:block}.summary-kpis span{color:var(--primary)}.summary-kpis strong{margin:8px 0 2px;font-size:22px}.summary-kpis small{color:var(--text-secondary);font-size:9px}.rank-list{margin-top:12px;display:grid}.rank-list div{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:46px;display:grid}.rank-list div:last-child{border-bottom:0}.rank-list b{width:23px;height:23px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:10px;display:grid}.rank-list span{font-size:13px;font-weight:650}.rank-list small{color:var(--text-secondary);font-size:10px}.top-foods-card>.muted{margin-top:12px}.ai-page{background:radial-gradient(circle at 40% 7%, color-mix(in srgb, var(--primary-soft) 70%, transparent), transparent 29%)}.notice-card{box-shadow:none;gap:12px;margin-top:12px;padding:14px;display:flex}.notice-icon{width:43px;height:43px;color:var(--primary);background:var(--primary-soft);border-radius:14px;flex:none;place-items:center;display:grid}.notice-card strong{font-size:13px}.notice-card p{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.5}.preview-card{box-shadow:none;margin-top:12px;padding:16px}.preview-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.preview-head h2{margin-top:4px;font-size:14px}.preview-head>span{color:var(--text-tertiary);font-size:10px}.preview-card pre{color:var(--text-primary);background:linear-gradient(145deg, var(--primary-soft), var(--surface-secondary));white-space:pre-wrap;word-break:break-word;border-radius:15px;margin:14px 0 0;padding:16px;font-family:inherit;font-size:12px;line-height:1.62;overflow:auto}.toggle-row{justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:11px 14px;display:flex}.toggle-row.bare{padding:5px 0}.toggle-row span strong,.toggle-row span small{display:block}.toggle-row span strong{font-size:13px}.toggle-row span small{color:var(--text-secondary);margin-top:4px;font-size:10px}.toggle-row input[type=checkbox]{appearance:none;background:var(--border);border:0;border-radius:99px;flex:none;width:48px;height:29px;transition:background .16s;position:relative}.toggle-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:23px;height:23px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000002e}.toggle-row input[type=checkbox]:checked{background:var(--primary)}.toggle-row input[type=checkbox]:checked:after{transform:translate(19px)}.ai-page>.toggle-row{box-shadow:none;margin-top:12px}.link-warning{box-shadow:none;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:14px;display:grid}.link-warning strong{font-size:12px}.link-warning p{color:var(--text-secondary);margin-top:3px;font-size:10px;line-height:1.4}.link-warning button{min-height:40px;color:var(--primary);background:var(--primary-soft);border-radius:11px;padding:0 10px;font-size:12px;font-weight:700}.manual-copy{box-shadow:none;margin-top:12px;padding:14px}.manual-copy strong{color:var(--danger);font-size:13px}.manual-copy p{color:var(--text-secondary);margin:5px 0 10px;font-size:11px}.manual-copy textarea{border:1px solid var(--border);background:var(--surface-secondary);border-radius:12px;width:100%;padding:12px;font-size:12px}.ai-footer{min-height:calc(100px + env(safe-area-inset-bottom));grid-template-columns:.8fr 1.4fr;display:grid}.ai-footer .secondary-button,.ai-footer .primary-button{padding:0 12px;font-size:12px}.ai-footer>small{color:var(--text-tertiary);text-align:center;grid-column:1/-1;font-size:9px}.settings-page{gap:12px;display:grid}.settings-page .page-header{margin-bottom:2px}.settings-group{box-shadow:none;padding:8px 14px}.settings-title{border-bottom:1px solid var(--border);align-items:center;gap:11px;min-height:67px;display:flex}.settings-title h2{font-size:15px}.settings-title p{color:var(--text-secondary);margin-top:3px;font-size:10px}.settings-icon{border-radius:13px;place-items:center;width:39px;height:39px;font-weight:800;display:grid}.settings-icon.green{color:var(--primary);background:var(--primary-soft)}.settings-icon.orange{color:var(--warning);background:var(--warning-soft)}.settings-icon.purple{color:#8c6bf1;background:#8c6bf121}.settings-icon.blue{color:#31a5d1;background:#31a5d121}.settings-icon .app-icon{width:20px}.setting-static,.setting-field,.setting-link{border-bottom:1px solid var(--border);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:66px;display:flex}.setting-static>span strong,.setting-static>span small,.setting-field>span strong,.setting-field>span small,.setting-link>span strong,.setting-link>span small{display:block}.setting-static strong,.setting-field strong,.setting-link strong{font-size:13px}.setting-static small,.setting-field small,.setting-link small{color:var(--text-secondary);margin-top:4px;font-size:10px}.setting-static>b,.setting-link>b{color:var(--text-tertiary);font-size:11px;font-weight:500}.setting-link>b{font-size:22px}.setting-field input{text-align:right;width:min(53%,260px);min-height:42px;padding:8px 10px}.settings-group>.toggle-row{border-bottom:1px solid var(--border);padding-left:0;padding-right:0}.settings-group>:last-child{border-bottom:0}.mini-segment{background:var(--surface-secondary);border-radius:10px;padding:3px;display:flex}.mini-segment button{min-height:34px;color:var(--text-secondary);background:0 0;border-radius:8px;padding:0 11px;font-size:11px}.mini-segment button.active{color:var(--primary);background:var(--surface);box-shadow:var(--shadow);font-weight:700}.inline-goal{border:1px solid var(--border);background:var(--surface-secondary);border-radius:13px;grid-template-columns:1fr auto auto;align-items:center;width:min(58%,250px);display:grid;overflow:hidden}.inline-goal input{width:100%;min-width:0;box-shadow:none;background:0 0;border:0}.inline-goal em{color:var(--text-secondary);padding-right:8px;font-size:10px;font-style:normal}.inline-goal button{color:#fff;background:var(--primary);align-self:stretch;padding:0 10px;font-size:11px}.theme-options{grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 0;display:grid}.theme-options button{border:1px solid var(--border);min-height:76px;color:var(--text-secondary);background:var(--surface-secondary);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:10px;display:flex;position:relative}.theme-options button>span{font-size:20px}.theme-options button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft);font-weight:700}.theme-options button i{font-style:normal;position:absolute;top:6px;right:7px}.food-setting{min-height:55px}.settings-group>.secondary-button{margin:10px 0 4px}.danger-text strong,.danger-text>b{color:var(--danger)!important}.data-message{color:var(--text-secondary);background:var(--surface-secondary);border-radius:10px;margin:9px 0 4px;padding:10px;font-size:11px;line-height:1.45}.install-card{box-shadow:none;background:linear-gradient(140deg, var(--primary-soft), var(--surface));gap:14px;padding:17px;display:flex}.install-icon{color:#fff;background:var(--primary);border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.install-card h2{margin-top:3px;font-size:16px}.install-card ol{color:var(--text-secondary);margin:10px 0 0;padding-left:18px;font-size:11px;line-height:1.7}.about-card>p{color:var(--text-secondary);padding:12px 0 6px;font-size:11px;line-height:1.65}.confirm-card{text-align:left}.confirm-icon{width:48px;height:48px;color:var(--primary);background:var(--primary-soft);border-radius:15px;place-items:center;margin-bottom:14px;font-size:25px;display:grid}.confirm-card h2{font-size:21px}.confirm-card>p{color:var(--text-secondary);word-break:break-all;margin-top:5px;font-size:12px}.confirm-card dl{background:var(--surface-secondary);border-radius:15px;margin:18px 0;padding:4px 14px}.confirm-card dl div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:43px;display:flex}.confirm-card dl div:last-child{border:0}.confirm-card dt{color:var(--text-secondary);font-size:11px}.confirm-card dd{text-align:right;margin:0;font-size:11px;font-weight:650}.confirm-card>button{margin-top:8px}.access-screen{min-height:100dvh;padding:calc(34px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 14%, var(--primary-soft), transparent 37%);place-items:center;display:grid}.access-card{text-align:center;width:min(100%,420px);padding:30px 24px 24px}.access-mark{color:#fff;background:linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 72%, #0b5f3f));width:64px;height:64px;box-shadow:0 13px 30px color-mix(in srgb, var(--primary) 25%, transparent);border-radius:21px;place-items:center;margin:0 auto 18px;font-size:27px;font-weight:800;display:grid}.access-card h1{letter-spacing:-.03em;margin-top:5px;font-size:24px}.access-intro{max-width:310px;color:var(--text-secondary);margin:10px auto 24px;font-size:12px;line-height:1.6}.access-card .field-label{text-align:left;margin-bottom:7px;display:block}.access-code-input{border:1px solid var(--border);background:var(--surface-secondary);text-align:center;letter-spacing:.16em;border-radius:15px;width:100%;min-height:52px;padding:0 15px;font-size:21px}.access-code-input:focus{outline:3px solid color-mix(in srgb, var(--primary) 18%, transparent);border-color:var(--primary)}.access-card .primary-button{min-height:50px;margin-top:14px}.access-card>small{color:var(--text-tertiary);margin-top:15px;font-size:10px;display:block}.access-error{text-align:left;margin-top:9px}.access-settings-form{gap:10px;padding:12px 0 2px;display:grid}.access-settings-form label{color:var(--text-secondary);grid-template-columns:118px 1fr;align-items:center;gap:10px;font-size:11px;display:grid}.access-settings-form input{text-align:right;width:100%;min-height:43px;padding:8px 11px}.access-settings-actions{grid-template-columns:1.25fr .75fr;gap:9px;margin-top:4px;display:grid}.access-settings-actions button{min-height:44px}.access-success{color:var(--primary);background:var(--primary-soft);border-radius:10px;padding:9px 10px;font-size:11px;line-height:1.45}.access-settings-note{color:var(--text-tertiary);padding:10px 0 5px;font-size:10px;line-height:1.55}@media (width<=380px){.page{padding-left:12px;padding-right:12px}.overview-card{grid-template-columns:1fr}.calorie-ring{width:178px}.overview-metrics{grid-template-columns:1fr 1fr}.privacy-note{grid-column:1/-1}.meal-grid{grid-template-columns:1fr}.meal-card{min-height:145px}.selected-row{grid-template-columns:auto 1fr auto}.selected-row .food-icon{display:none}.amount-input{width:88px}.donut-layout{grid-template-columns:125px 1fr;gap:14px}.donut{width:125px;height:125px}.access-card{padding:26px 18px 20px}.access-settings-form label{grid-template-columns:96px 1fr}}@media (width>=720px){body{background:color-mix(in srgb, var(--background) 70%, var(--surface-secondary))}.app-shell{background:var(--background);width:560px;margin:0 auto;box-shadow:0 0 80px #1937281f}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
