@import "https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400..600&family=Outfit:wght@400;500;600;700&display=swap";:root{--bg:#0f1115;--tile:#1a1d24;--tile-2:#242831;--ink:#f1f2f4;--dim:#8d93a0;--rule:#2a2e38;--acc:#f1f2f4;--acc-ink:#0f1115;--danger:#ff8a75;--protein:#3f9bff;--carbs:#f5b82e;--fat:#f0648c;--fiber:#9a7bff;--serif:"Newsreader", Georgia, serif;--sans:"Outfit", system-ui, sans-serif;--radius:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;font-variant-numeric:tabular-nums;font-size:15px;line-height:1.4}*{box-sizing:border-box}body{min-width:320px;margin:0}h1,h2,h3,h4,h5,p,dl,dd,ul{margin:0;padding:0}ul{list-style:none}button,input,select,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:wait;opacity:.5}a{color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.error,[role=alert]{color:var(--danger)}[role=status],.hint{color:var(--dim);font-size:13px}.app-shell{flex-direction:column;gap:14px;max-width:560px;margin:0 auto;padding:16px 16px 96px;display:flex}.app-bar{flex-direction:column;gap:6px;display:flex}.date-nav{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid}.date-nav button{color:var(--dim);border-radius:50%;font-size:22px}.date-title h1{font-family:var(--serif);letter-spacing:-.01em;font-size:28px;font-weight:500;line-height:1.1}.date-title span{color:var(--dim);font-size:13px}.app-nav{flex-wrap:wrap;gap:8px;display:flex}.app-nav button{background:var(--tile);color:var(--dim);border-radius:999px;padding:0 16px;font-size:14px}.diary,.main{flex-direction:column;gap:14px;min-width:0;display:flex}.section-title{font-family:var(--serif);margin-top:4px;font-size:19px;font-weight:500}.primary{background:var(--acc);color:var(--acc-ink);border-radius:999px;min-height:48px;padding:0 20px;font-weight:600}.full{width:100%}.text-button{color:var(--dim);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:4px;border-radius:999px;padding:0 12px}.text-button:hover{color:var(--ink)}.overview{background:var(--tile);border-radius:22px;grid-template-columns:116px 1fr;align-items:center;gap:12px 16px;padding:16px;display:grid}.energy-ring{width:116px;height:116px;display:block}.ring-track,.ring-value{fill:none;stroke-width:11px}.ring-track{stroke:var(--rule)}.ring-value{stroke:var(--acc);stroke-linecap:round}.ring-number{font-family:var(--serif);fill:var(--ink);font-size:26px}.ring-label{fill:var(--dim);font-size:10px}.macro-bars{flex-direction:column;gap:8px;min-width:0;display:flex}.macro-bar>div:first-child{justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.macro-bar em{color:var(--dim);white-space:nowrap;font-style:normal}.macro-bar em b{color:var(--ink);font-weight:600}.progress-track,.meter{background:var(--rule);border-radius:99px;height:6px;display:block;overflow:hidden}.progress-track>div,.meter>b{background:var(--dim);border-radius:99px;height:100%;display:block}.protein .progress-track>div,.protein .meter>b{background:var(--protein)}.carbohydrate .progress-track>div,.carbohydrate .meter>b{background:var(--carbs)}.fat .progress-track>div,.fat .meter>b{background:var(--fat)}.fiber .progress-track>div,.fiber .meter>b{background:var(--fiber)}.calories .meter>b{background:var(--acc)}.overview-foot{color:var(--dim);grid-column:1/-1;font-size:13px}.meal-list{flex-direction:column;gap:8px;display:flex}.meal-section{background:var(--tile);border-radius:var(--radius);padding:6px 8px 6px 14px}.meal-header{grid-template-columns:1fr auto 44px;align-items:center;gap:10px;display:grid;position:relative}.meal-header>div{min-width:0}.meal-header h3{font-size:16px;font-weight:600}.meal-toggle{text-align:left;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.meal-toggle:after{content:"";position:absolute;inset:0}.meal-toggle:before{content:"";border-right:1.5px solid var(--dim);border-bottom:1.5px solid var(--dim);order:1;width:7px;height:7px;transform:rotate(45deg)translateY(-2px)}.meal-toggle[aria-expanded=true]:before{transform:rotate(225deg)translateY(-2px)}.meal-summary,.meal-macro-line{color:var(--dim);overflow-wrap:anywhere;font-size:13px}.meal-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:-8px;display:-webkit-box;overflow:hidden}.meal-macro-line{padding-bottom:8px;font-size:12px}.meal-calories{font-family:var(--serif);white-space:nowrap;font-size:20px;font-weight:500}.meal-calories small{font-family:var(--sans);color:var(--dim);font-size:12px}.add-meal{color:var(--dim);background:var(--tile-2);border-radius:50%;font-size:20px;position:relative}.meal-body{flex-direction:column;align-items:flex-start;gap:10px;padding:4px 6px 10px 0;display:flex}.meal-body>*{width:100%}.meal-body>.text-button{width:auto}.empty-meal{color:var(--dim)}.save-meal-row{flex-wrap:wrap;gap:8px;display:flex}.save-meal-row input{flex:160px}.entry-list{flex-direction:column;display:flex}.entry-with-nutrients,.entry-group{border-top:1px solid var(--rule);padding:4px 0}.entry-with-nutrients.nested{margin-left:16px}.entry-row{flex-wrap:wrap;align-items:center;gap:2px 4px;display:flex}.entry-row>div{flex:150px;min-width:0}.entry-row strong{overflow-wrap:anywhere;font-weight:500;display:block}.entry-row small{color:var(--dim);font-size:12px}.entry-row>span{white-space:nowrap;color:var(--dim);margin-right:4px;font-size:13px}.entry-row button{color:var(--dim);border-radius:999px;padding:0 8px;font-size:13px}.entry-row button:hover{color:var(--ink)}.group-toggle{flex:none}.fold>summary{cursor:pointer;min-height:44px;font-family:var(--serif);align-items:baseline;gap:8px;padding-top:10px;font-size:18px;font-weight:500;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary small{font-family:var(--sans);color:var(--dim);margin-left:auto;font-size:12px;font-weight:400}.fold>summary:after{content:"";border-right:1.5px solid var(--dim);border-bottom:1.5px solid var(--dim);flex:none;width:7px;height:7px;transform:rotate(45deg)translateY(-3px)}.fold[open]>summary:after{transform:rotate(225deg)translateY(-2px)}.meal-body .fold>summary{font-family:var(--sans);color:var(--dim);align-items:center;padding-top:0;font-size:14px}.meal-body .fold>summary small{display:none}.meal-body .fold>summary:after{margin-left:auto}.highlights{background:var(--tile);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:14px 6px;padding:16px 8px;display:grid}.highlights>div{color:var(--dim);text-align:center;flex-direction:column;align-items:center;gap:3px;font-size:12px;display:flex}.highlights svg{width:52px;height:52px}.highlights .ring-track,.highlights .ring-value{stroke-width:4px}.highlights text{fill:var(--ink);font-size:13px;font-weight:600}.nutrient-details-body{background:var(--tile);border-radius:var(--radius);padding:4px 14px 12px}.meal-body .nutrient-details-body{background:var(--tile-2);padding:4px 10px 10px}.nutrient-groups{flex-direction:column;display:flex}.nutrient-groups h5{color:var(--dim);letter-spacing:.06em;text-transform:uppercase;padding:12px 0 6px;font-size:11px;font-weight:500}.nutrient-value-row,.macro-row{border-top:1px solid var(--rule);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:grid}.nutrient-value-row{grid-template-columns:minmax(0,1fr) auto}.nutrient-value-row dd{grid-template-columns:92px 44px 38px;align-items:center;gap:8px;display:grid}.nutrient-value-row dd span{text-align:right;white-space:nowrap}.nutrient-value-row dd em,.macro-row em{text-align:right;font-style:normal;font-weight:600}.nutrient-value-row dd .no-target{color:var(--dim);grid-column:3;font-weight:400}.nutrient-value-row dd small{text-align:right;color:var(--dim);grid-column:1/-1;font-size:11px}.nutrient-value-row.unknown{color:var(--dim)}.nutrient-value-row.unknown dd{display:block}.nutrient-value-row.derived dt{color:var(--dim);padding-left:12px}.nutrient-details-body .hint{padding-top:10px;font-size:12px}.macro-table{background:var(--tile-2);border-radius:var(--radius);padding:2px 14px}.macro-row{grid-template-columns:76px minmax(0,1fr) 72px 40px}.macro-row:first-child{border-top:0}.macro-row>b{text-align:right;white-space:nowrap;font-weight:500}.carb-details{color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 14px 0;font-size:12px;display:flex}dialog,.adjust-panel{border:1px solid var(--rule);background:var(--tile);width:min(560px,100% - 16px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:22px;padding:18px 16px}dialog::backdrop{background:#000000a6}dialog[open],dialog form,.adjust-panel,.food-picker,.label-entry,.template-library,.template-editor,.template-portion,.amount-field,.recipe-yield{flex-direction:column;gap:12px;display:flex}.modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-header h2,dialog h3,.adjust-panel h3,.template-library h3,.template-editor h3,.backup-controls h2{font-family:var(--serif);font-size:22px;font-weight:500}.modal-header button{color:var(--dim);background:var(--tile-2);border-radius:50%;font-size:22px}label{color:var(--dim);flex-direction:column;gap:6px;font-size:13px;display:flex}input,select,textarea{background:var(--bg);border:1px solid var(--rule);width:100%;color:var(--ink);border-radius:12px;padding:0 12px;font-size:16px}textarea{min-height:88px;padding:10px 12px}input[type=file]{padding:8px 12px}.amount-field{grid-template-columns:1fr 1fr;display:grid}.nutrition-preview{font-family:var(--serif);grid-column:1/-1;font-size:22px}.nutrition-preview span{font-family:var(--sans);color:var(--dim);font-size:13px}.catalog-caption{color:var(--dim);letter-spacing:.06em;justify-content:space-between;gap:8px;font-size:11px;display:flex}.catalog-caption span{letter-spacing:0}.picker-actions,.picker-filters{flex-wrap:wrap;gap:6px;display:flex}.picker-filters button{background:var(--tile-2);padding:0 14px;text-decoration:none}.picker-filters button[aria-selected=true]{background:var(--acc);color:var(--acc-ink)}.food-results,.saved-meals,.online-search{flex-direction:column;display:flex}.online-search{gap:10px}.food-results>button,.saved-meals>button{text-align:left;border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.saved-meals>button{flex-direction:column;align-items:flex-start;gap:0}.food-results strong,.saved-meals strong{font-weight:500;display:block}.food-results small,.saved-meals small{color:var(--dim);font-size:12px}.food-results>button>span{color:var(--dim);font-size:18px}.food-results>p{color:var(--dim)}video{border-radius:12px;width:100%}.template-panel{background:var(--tile);border-radius:22px;padding:18px 16px}.template-list li,.ingredient-list li{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 0;display:flex}.template-list li>div,.ingredient-list li>div{flex:160px;min-width:0}.template-list strong,.ingredient-list strong{font-weight:500;display:block}.template-list small{color:var(--dim);font-size:12px}.template-totals{background:var(--tile-2);border-radius:12px;padding:12px}.backup-controls{border-top:1px solid var(--rule);color:var(--dim);flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px;padding-top:16px;font-size:13px;display:flex}.backup-controls h2{color:var(--ink);font-size:19px}.backup-controls button{background:var(--tile);color:var(--ink);border-radius:999px;padding:0 16px}.backup-controls label{width:100%}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--tile-2);border:1px solid var(--rule);z-index:10;border-radius:16px;align-items:center;gap:8px;width:min(528px,100% - 32px);padding:4px 6px 4px 16px;display:flex;position:fixed;transform:translate(-50%)}.toast button:first-of-type{margin-left:auto;padding:0 10px;font-weight:600}.toast button:last-of-type{color:var(--dim)}.adjust-panel{left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:10;position:fixed;transform:translate(-50%)}.adjust-panel p{color:var(--dim);font-size:13px}@media (width<=360px){.overview{grid-template-columns:1fr;justify-items:center}.macro-bars{width:100%}}@media (prefers-reduced-motion:no-preference){.progress-track>div,.meter>b{transition:width .2s}}.schedule-tag{color:var(--dim);display:block}.schedule-line,.template-list>li>.schedule-editor{flex-basis:100%}.schedule-line{color:var(--dim);align-items:center;gap:6px;font-size:13px;display:flex}.schedule-line>span{flex:1}.schedule-editor{flex-direction:column;gap:12px;display:flex}.schedule-editor label{color:var(--dim);flex-direction:column;gap:4px;font-size:13px;display:flex}.schedule-note{color:var(--dim);font-size:13px;line-height:1.5}.schedule-problem{color:var(--danger);font-size:13px}.schedule-days{border:0;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:2px;margin:0;padding:0;display:grid}.schedule-days legend{color:var(--dim);margin-bottom:6px;padding:0;font-size:13px}.schedule-days button{border:1px solid var(--rule);background:var(--tile-2);min-width:44px;color:var(--dim);border-radius:999px;padding:0}.schedule-days button[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.schedule-panel{overflow-y:auto}.entry-row>button.repeat-button{font-size:17px}
