body{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45;font-optical-sizing:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft)}.eyebrow,.ui-label{margin:0 0 2px;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.auth-hero,.diary-hero,.hero-section,.household-hero,.more-header,.onboarding-flow-hero,.pantry-hero,.person-detail-hero,.planner-hero,.privacy-hero,.product-hero,.recipe-editor-hero,.recipe-hero,.recipe-library-hero,.setup-hero,.shopping-hero,.supplements-hero,.usage-hero{border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;padding-right:0;padding-left:0}.topbar h1,.ui-page-title,:is(.hero-section,.more-header,.setup-hero,.diary-hero,.recipe-hero,.recipe-library-hero,.product-hero,.supplements-hero,.planner-hero,.pantry-hero,.shopping-hero,.household-hero,.person-detail-hero,.recipe-editor-hero,.usage-hero,.privacy-hero,.auth-hero,.onboarding-flow-hero) h1{margin:0;color:var(--ink);font-size:26px;font-weight:800;font-stretch:125%;letter-spacing:.3px;line-height:1.05;text-transform:uppercase}.topbar .claim,:is(.hero-section,.more-header,.setup-hero,.diary-hero,.recipe-hero,.recipe-library-hero,.product-hero,.supplements-hero,.planner-hero,.pantry-hero,.shopping-hero,.household-hero,.person-detail-hero,.recipe-editor-hero,.usage-hero,.privacy-hero,.auth-hero,.onboarding-flow-hero) :is(p,small,span:not([class*=badge])){color:var(--muted)}:is(.hero-section,.more-header,.setup-hero,.diary-hero,.recipe-hero,.recipe-library-hero,.product-hero,.supplements-hero,.planner-hero,.pantry-hero,.shopping-hero,.household-hero,.person-detail-hero,.recipe-editor-hero,.usage-hero,.privacy-hero,.auth-hero,.onboarding-flow-hero)>svg{color:var(--ink)}:is(.hero-section,.more-header,.setup-hero,.diary-hero,.recipe-hero,.recipe-library-hero,.product-hero,.supplements-hero,.planner-hero,.pantry-hero,.shopping-hero,.household-hero,.person-detail-hero,.recipe-editor-hero,.usage-hero,.privacy-hero,.auth-hero,.onboarding-flow-hero) :is(a,button):not(.primary-action):not(.ui-button){border:1px solid var(--line);background:var(--surface);color:var(--ink)}:is(.hero-section,.more-header,.setup-hero,.diary-hero,.recipe-hero,.recipe-library-hero,.product-hero,.supplements-hero,.planner-hero,.pantry-hero,.shopping-hero,.household-hero,.person-detail-hero,.recipe-editor-hero,.usage-hero,.privacy-hero,.auth-hero,.onboarding-flow-hero) [class*=badge]{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.diary-entry,.diary-note,.diary-overview-card,.home-warning-card,.household-panel,.more-focus-panel,.more-list,.panel,.planner-add-panel,.planner-person-card,.planner-shopping-preview,.privacy-panel,.product-confirm-panel,.product-detail-panel,.product-edit-panel,.product-list-panel,.product-scan-panel,.product-search-panel,.recipe-editor-panel,.recipe-ocr-panel,.recipe-panel,.recipe-search-panel,.setup-form,.setup-summary,.supplement-item,.supplement-reminder-list article,.supplement-summary div,.usage-core-panel{border-color:transparent;border-radius:var(--radius-card);background:var(--surface);box-shadow:none}.primary-action{border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);min-height:44px}.primary-action:hover{background:var(--accent-hover)}.secondary-action{border:1px solid var(--accent-soft);border-radius:999px;background:var(--surface);color:var(--accent);min-height:44px}.diary-date-switch a.is-selected,.planner-days button.is-selected,.planner-week-calendar button.is-selected,.shopping-week-switch button.is-selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.app-shell{padding-right:var(--page-gutter);padding-bottom:var(--bottom-nav-space);padding-left:var(--page-gutter)}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;height:var(--bottom-nav-height);grid-template-columns:repeat(5,minmax(0,1fr));align-items:flex-start;grid-gap:0;gap:0;border:0;border-top:1px solid var(--line-soft);border-radius:0;background:var(--surface);padding:8px max(8px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-right));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.bottom-nav a,.bottom-nav-add{display:flex;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a.is-active{background:transparent;color:var(--accent)}.bottom-nav-add{justify-self:center;width:52px;height:52px;border-radius:999px;background:var(--accent);color:var(--on-accent)}.bottom-nav-add.is-active,.bottom-nav-add:hover{background:var(--accent-hover);color:var(--on-accent)}@media (min-width:768px){.bottom-nav{right:50%;left:auto;width:min(520px,calc(100% - 32px));transform:translateX(50%);bottom:12px;height:auto;border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:var(--shadow-float)}:root{--bottom-nav-space:112px}}.ui-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.ui-button:disabled{cursor:not-allowed;opacity:.5}.ui-button-primary{background:var(--accent);color:var(--on-accent)}.ui-button-primary:hover:not(:disabled){background:var(--accent-hover)}.ui-button-secondary{border-color:var(--accent-soft);background:var(--surface);color:var(--accent)}.ui-button-danger{border-color:var(--danger-bg);background:var(--danger-bg);color:var(--danger)}.ui-button-ghost{background:transparent;color:var(--ink-2)}.ui-icon-button{position:relative;display:inline-grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0;cursor:pointer}.ui-icon-button-badge{position:absolute;top:-2px;right:-2px;display:grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:0 4px}.ui-card{border-radius:var(--radius-card);background:var(--surface);padding:16px}.ui-card+.ui-card{margin-top:10px}.ui-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ui-card-title{margin:0;font-size:15px;font-weight:600}.ui-page-header{display:flex;width:min(100%,var(--content-width));align-items:center;justify-content:space-between;gap:12px;margin:0 auto;padding:20px 0 12px}.ui-page-subtitle{margin:6px 0 0;color:var(--muted);font-size:14px}.ui-notice{display:flex;width:100%;align-items:center;gap:10px;border:0;border-radius:12px;padding:12px 14px;font:inherit;font-size:14px;text-align:left}button.ui-notice{min-height:44px;cursor:pointer}.ui-notice-info{background:var(--accent-bg);color:var(--accent-hover)}.ui-notice-error{background:var(--danger-bg);color:var(--danger)}.ui-notice-copy{display:grid;flex:1 1;grid-gap:2px;gap:2px}.ui-notice-copy strong{font-weight:600}.ui-notice-explanation{display:grid;grid-gap:6px;gap:6px}.ui-notice-explanation .ui-label{margin-top:8px}.ui-sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(22,24,29,.32)}.ui-sheet{display:grid;width:100%;max-height:88vh;grid-template-rows:auto 1fr auto;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;transition:transform .2s ease;background:var(--surface);padding:8px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);outline:none}.ui-sheet-drag{display:grid;touch-action:none;cursor:-webkit-grab;cursor:grab}.ui-sheet-grip{justify-self:center;width:40px;height:4px;border-radius:999px;background:var(--line)}.ui-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.ui-sheet-header h2{margin:0;font-size:17px;font-weight:700}.ui-sheet-body{overflow-y:auto}.ui-sheet-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:12px}@media (min-width:768px){.ui-sheet-backdrop{align-items:center}.ui-sheet{width:min(520px,calc(100% - 32px));border-radius:var(--radius-sheet);padding-bottom:16px}.ui-sheet-grip{display:none}}.ui-day-strip{display:grid;width:min(100%,var(--content-width));grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:6px;gap:6px;margin:0 auto}.ui-day-strip-arrow{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0;cursor:pointer}.ui-day-strip-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.ui-day{display:grid;height:52px;place-content:center;justify-items:center;grid-gap:2px;gap:2px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);padding:0;font:inherit;text-decoration:none;cursor:pointer}.ui-day span{color:var(--muted);font-size:11px;font-weight:500}.ui-day strong{font-size:15px;font-weight:700}.ui-day.is-today strong{color:var(--accent)}.ui-day.is-selected{background:var(--accent);color:var(--on-accent)}.ui-day.is-selected span,.ui-day.is-selected strong{color:#fff}.ui-day-strip.is-week .ui-day{background:var(--accent-bg);cursor:default}.ui-ring{position:relative;display:grid;flex:none;place-items:center}.ui-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ui-ring circle{fill:none;stroke-linecap:round;stroke-width:10}.ui-ring-track{stroke:var(--track)}.ui-ring-planned{stroke:var(--planned)}.ui-ring-consumed{stroke:var(--accent)}.ui-ring-consumed.is-over{stroke:var(--danger)}.ui-ring-center{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center}.ui-ring-center strong{font-size:34px;font-weight:800;font-stretch:112%;line-height:1}.ui-ring-center strong.is-over{color:var(--danger)}.ui-ring-center span{margin-top:4px;color:var(--muted);font-size:12px;font-weight:500}.ui-macro{display:grid;grid-gap:6px;gap:6px;min-width:0}.ui-macro-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:12px;font-weight:500}.ui-macro-head small{color:var(--muted);font-size:11px}.ui-macro-track{position:relative;height:8px;overflow:hidden;border-radius:999px;background:var(--track)}.ui-macro-zone{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-soft)}.ui-macro-fill,.ui-macro-zone{position:absolute;top:0;bottom:0}.ui-macro-fill{left:0;border-radius:999px;background:var(--macro-color,var(--accent))}.ui-macro-values{color:var(--ink-2);font-size:12px}.ui-macro-values strong{color:var(--ink);font-weight:700}.ui-macro-protein{--macro-color:var(--protein)}.ui-macro-carbs{--macro-color:var(--carbs)}.ui-macro-fat{--macro-color:var(--fat)}.ui-macro-fiber{--macro-color:var(--ink-2)}.ui-macro-accent{--macro-color:var(--accent)}.ui-tone-danger{--macro-color:var(--danger)}.ui-tone-success{--macro-color:var(--success)}.ui-tone-warning{--macro-color:var(--warn)}.ui-tone-danger .ui-macro-values strong{color:var(--danger)}.ui-chip{display:inline-flex;min-height:28px;align-items:center;gap:6px;border-radius:999px;padding:0 10px;font-size:13px;font-weight:600}.ui-chip b{font-weight:700}.ui-chip-own{background:var(--accent-bg);color:var(--accent-hover)}.ui-chip-other{background:var(--fat-bg);color:var(--fat-text)}.ui-balance{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;container-type:inline-size}@container (max-width: 290px){.ui-balance>.ui-ring{grid-column:1/-1;grid-row:1;justify-self:center}.ui-balance>.ui-balance-side:first-child{grid-column:1;grid-row:2}.ui-balance>.ui-balance-side:last-child{grid-column:3;grid-row:2}}.ui-balance-side{display:grid;justify-items:center;grid-gap:2px;gap:2px}.ui-balance-side strong{font-size:20px;font-weight:700}.ui-balance-side span{color:var(--muted);font-size:12px;font-weight:500}.ui-macro-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.ui-page-notice{width:min(100%,var(--content-width));margin:0 auto 12px}body,html{max-width:100%;overflow-x:hidden}@media (max-width:380px){.ui-day-strip{gap:4px}.ui-day-strip-days{gap:2px}}.home-notice{grid-column:1/-1}.shopping-week-label{margin:6px 0 0;color:var(--muted);font-size:12px;font-weight:500;text-align:center}.design-showcase{display:grid;width:min(100%,var(--content-width));grid-gap:10px;gap:10px;margin:0 auto}.design-showcase .ui-card+.ui-card{margin-top:0}.design-gap{margin-top:14px}.design-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.design-stack{display:grid;grid-gap:10px;gap:10px}.design-macro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));grid-gap:16px;gap:16px}.design-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px}.design-swatch{display:grid;grid-gap:4px;gap:4px}.design-swatch span{height:40px;border:1px solid var(--line);border-radius:10px}.design-swatch small{color:var(--muted);font-size:11px}.design-number{margin:8px 0;font-size:34px;font-weight:800;font-stretch:112%;line-height:1}@media (min-width:900px){.design-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}.k-page-grid{width:min(100%,var(--content-width));grid-template-columns:minmax(0,1fr);margin:0 auto}.k-page-grid,.k-stack{display:grid;grid-gap:10px;gap:10px}.k-stack{min-width:0;align-content:start}.k-stack>.ui-card+.ui-card{margin-top:0}@media (min-width:900px){.k-page-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}.k-text-link{display:inline-flex;min-height:44px;align-items:center;color:var(--accent);font-size:14px;font-weight:600;text-decoration:none}.k-after-plan{margin:6px 0 0;color:var(--muted);font-size:13px;text-align:center}.k-empty{margin:0;color:var(--muted);font-size:14px}.k-list{display:grid;margin:0 -16px;padding:0;list-style:none}.k-list>li{position:relative;display:flex;align-items:center;border-top:1px solid var(--line-soft)}.k-list>li:first-child{border-top:0}.k-list-row{display:grid;min-height:60px;flex:1 1;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:0;background:transparent;color:var(--ink);padding:10px 16px;font:inherit;text-align:left;text-decoration:none}.k-list-row:hover{background:var(--surface-muted)}.k-list-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--surface-muted);color:var(--ink)}.k-list-icon-accent{background:var(--accent-bg);color:var(--accent)}.k-list-icon-danger{background:var(--danger-bg);color:var(--danger)}.k-list-copy{display:grid;min-width:0;grid-gap:2px;gap:2px}.k-list-copy strong{font-size:15px;font-weight:600}.k-list-copy small,.k-list-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-list-copy small{color:var(--muted);font-size:13px}.k-list-value{display:grid;justify-items:end;grid-gap:2px;gap:2px}.k-list-value strong{font-size:15px;font-weight:700}.k-list-value small{color:var(--muted);font-size:12px}.k-list-chevron{color:var(--muted)}.k-meal .k-list-row{padding-right:64px}.k-add{position:absolute;right:16px;display:grid;width:44px;height:44px;place-items:center;border-radius:999px;color:var(--accent);text-decoration:none}.k-add:before{position:absolute;width:32px;height:32px;border-radius:999px;background:var(--accent-bg);content:""}.k-add svg{position:relative}.k-meal .k-list-value{margin-right:4px}.k-person-switch{display:flex;width:min(100%,var(--content-width));flex-wrap:wrap;gap:8px;margin:12px auto 0}.k-person{display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 8px;cursor:pointer}.k-person.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.k-diary .ui-day-strip,.k-planner .ui-day-strip{margin-bottom:12px}.k-groups-card{padding-top:4px;padding-bottom:4px}.k-group{margin:0 -16px;border-top:1px solid var(--line-soft)}.k-group:first-child{border-top:0}.k-group-head{display:grid;min-height:64px;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;grid-gap:12px;gap:12px;padding:10px 16px;cursor:pointer;list-style:none}.k-group-head::-webkit-details-marker{display:none}.k-group-head .k-list-copy strong{display:flex;align-items:center;gap:8px}.k-badge-open{border-radius:999px;background:var(--warn-bg);color:var(--warn);padding:2px 8px;font-size:11px;font-weight:600}.k-add-inline{position:relative;right:auto;border:0;background:transparent;padding:0;cursor:pointer}.k-group-entries{display:grid;grid-gap:8px;gap:8px;padding:0 16px 14px}.k-entry{display:grid;min-width:0;grid-gap:10px;gap:10px;border-radius:12px;background:var(--surface-muted);padding:12px}.k-entry-main{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.k-entry-status{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--surface);color:var(--muted)}.k-entry-consumed .k-entry-status{background:var(--accent);color:var(--on-accent)}.k-entry-partially_consumed .k-entry-status{background:var(--accent-soft);color:var(--accent-hover)}.k-entry-skipped{opacity:.7}.k-entry-skipped .k-list-copy strong{text-decoration:line-through}.k-entry-actions{display:flex;gap:6px}.k-action{min-height:44px;min-width:0;flex:1 1;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0 6px;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}.k-action[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.k-action-danger{color:var(--danger)}.k-action-danger[aria-pressed=true]{border-color:var(--danger);background:var(--danger);color:#fff}.k-action-icon{display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer}.k-add-sheet{display:grid;grid-gap:12px;gap:12px}.k-add-sheet .diary-add-mode{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:4px;gap:4px;border-radius:999px;background:var(--surface-muted);padding:4px}.k-add-sheet .diary-add-mode button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font-weight:600}.k-add-sheet .diary-add-mode button.is-selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(22,24,29,.08)}.k-add-sheet label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:500}.k-add-sheet input,.k-add-sheet select,.k-input{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:0 12px;font:inherit;font-size:15px}.k-add-sheet .diary-product-search label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:0 14px}.k-add-sheet .diary-product-search label input{flex:1 1;border:0;padding:0}.k-add-sheet :where(button){display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0 14px;font:inherit;font-weight:600;cursor:pointer}.k-add-sheet .diary-manual-food-form>button,.k-add-sheet .diary-product-form>button,.k-add-sheet .diary-scan-link,.k-plan-sheet>button{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.k-add-sheet button:disabled{opacity:.5}.k-add-sheet .diary-product-results{display:grid;grid-gap:0;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.k-add-sheet .diary-product-results button{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:10px;border:0;border-top:1px solid var(--line-soft);background:var(--surface);color:var(--ink);padding:8px 12px;text-align:left}.k-add-sheet .diary-product-results button:first-child{border-top:0}.k-add-sheet .diary-product-results button.is-selected{background:var(--accent-bg)}.k-add-sheet .diary-product-hint,.k-add-sheet .diary-scan-mode p{margin:0;color:var(--muted);font-size:13px}.k-person-value{margin-left:6px;color:var(--muted);font-size:12px;font-weight:500}.k-chip-row{display:flex;flex-wrap:wrap;gap:6px;padding-left:38px}.k-plan-meal-title{overflow:hidden;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.k-plan-edit{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:10px}.k-plan-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:end;grid-gap:8px;gap:8px}.k-plan-edit-row label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px}.k-plan-edit .k-action{display:inline-flex;align-items:center;justify-content:center;gap:6px}.k-plan-sheet .planner-entry-kind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;border-radius:999px;background:var(--surface-muted);padding:4px}.k-plan-sheet .planner-entry-kind button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font-weight:600}.k-plan-sheet .planner-entry-kind button.is-selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px rgba(22,24,29,.08)}.k-plan-sheet .planner-recipe-sheet{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:12px}.k-stat-row{display:grid;width:min(100%,var(--content-width));grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px auto}.k-stat-row>div{display:grid;grid-gap:2px;gap:2px;border-radius:12px;background:var(--surface);padding:10px 12px}.k-stat-row span{color:var(--muted);font-size:11px;font-weight:500}.k-stat-row strong{font-size:18px;font-weight:700}.k-shopping-groups{align-items:start}@media (min-width:900px){.k-shopping-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}.k-shop-item{min-height:60px;gap:12px;padding:8px 16px 8px 8px}.k-shop-item .k-list-copy{flex:1 1}.k-check{display:grid;width:44px;height:44px;flex:none;place-items:center;border:0;background:transparent;padding:0;cursor:pointer}.k-check span{display:grid;width:24px;height:24px;place-items:center;border:2px solid var(--line);border-radius:999px;color:#fff}.k-check[aria-pressed=true] span{border-color:var(--accent);background:var(--accent)}.k-shop-item.is-checked .k-list-copy strong,.k-shop-item.is-checked .k-list-value strong{color:var(--muted);text-decoration:line-through}.k-empty-card{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:28px 16px;color:var(--muted);text-align:center}.k-empty-card strong{color:var(--ink)}.k-empty-card p{margin:0}.k-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.k-add-sheet .diary-manual-food-form,.k-add-sheet .diary-product-form{display:grid;grid-gap:12px;gap:12px}.recipe-library-card-link{display:contents;color:inherit;text-decoration:none}.k-auth{display:grid;align-content:start}.k-auth-card{width:min(100%,440px)}.k-auth .ui-page-header,.k-auth-footnote{width:min(100%,440px);margin-right:auto;margin-left:0}@media (min-width:768px){.k-auth .ui-page-header,.k-auth-card,.k-auth-footnote{margin-right:auto;margin-left:auto}}.k-form{display:grid;grid-gap:14px;gap:14px}.k-field{display:grid;grid-gap:6px;gap:6px}.k-field>span{color:var(--muted);font-size:12px;font-weight:500}.k-input{width:100%}.k-help{margin:0;color:var(--ink-2);font-size:14px}.k-auth-footnote{margin-top:14px}.k-auth-footnote,.k-field-hint{color:var(--muted);font-size:13px}.k-field-hint{margin:4px 0 0}.k-field-hint-error{color:var(--danger)}.setup-tab-bar{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding-bottom:4px;scrollbar-width:none}.setup-tab-bar button{display:inline-flex;min-height:44px;flex:none;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:0 14px;font-weight:600}.setup-tab-bar button.is-active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.setup-form fieldset{border:0;border-radius:var(--radius-card);background:var(--surface);padding:16px}.setup-form fieldset+fieldset{margin-top:10px}.setup-form legend{float:left;display:flex;width:100%;align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:600}.setup-form label{color:var(--muted);font-size:12px;font-weight:500}.setup-form input:not([type=range]),.setup-form select,.setup-form textarea{min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}.setup-form .target-input-row{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,132px);grid-gap:8px;gap:8px}.setup-form .target-input-row input,.setup-form .target-input-row select{width:100%;min-width:0}.setup-form .three-column-fields,.setup-form .two-column-fields{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}@media (min-width:600px){.setup-form .two-column-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-form .three-column-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.setup-form label{display:grid;grid-gap:6px;gap:6px}.setup-form input:not([type=range]),.setup-form select,.setup-form textarea{width:100%;padding:0 12px}.k-inline-action{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.k-inline-action button{display:inline-flex;min-height:44px;align-items:center;gap:6px;border:1px solid var(--accent-soft);border-radius:999px;background:var(--surface);color:var(--accent);padding:0 14px;font:inherit;font-weight:600}.ui-stepper{display:grid;grid-gap:6px;gap:6px;min-width:0}.ui-stepper-label{color:var(--muted);font-size:13px;font-weight:500}.ui-stepper-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:6px;gap:6px}.recipe-toolbar .ui-stepper-control button,.ui-stepper-control button{display:grid;width:44px;height:44px;min-height:44px;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:0}.ui-stepper-control button:disabled{opacity:.4}.recipe-editor-fields .ui-stepper-control input,.recipe-toolbar .ui-stepper-control input,.ui-stepper-control input{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:0 6px;font:inherit;font-size:17px;font-weight:600;text-align:center}.recipe-toolbar{max-width:320px}.ui-sortable{margin:0;padding:0;list-style:none}.ui-sortable-row{border-radius:var(--radius-control);transition:background-color .12s ease,box-shadow .12s ease}.ui-sortable-row.is-dragging{position:relative;z-index:1;background:var(--surface);box-shadow:var(--shadow-float)}.ingredient-edit-row .ui-sortable-handle,.step-edit-row .ui-sortable-handle,.ui-sortable-handle{display:grid;width:34px;height:44px;place-items:center;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-sortable-row.is-dragging .ui-sortable-handle{color:var(--accent);cursor:-webkit-grabbing;cursor:grabbing}.recipe-product-nutrition{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px;border-radius:var(--radius-control);background:var(--accent-bg);padding:10px 12px}.recipe-product-nutrition p,.recipe-product-nutrition ul{margin:0;font-size:13px}.recipe-product-nutrition ul{padding-left:18px;color:var(--warn)}.recipe-product-nutrition .recipe-product-calc{justify-self:start;margin-bottom:0;background:var(--surface)}.k-partial-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 0 38px}.k-partial-row>span{color:var(--muted);font-size:12px}.k-chip{min-height:32px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:0 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.k-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-hover)}.k-add-sheet .diary-manual-food-form>button.k-sheet-danger{border-color:var(--danger);background:var(--surface);color:var(--danger)}.k-add-sheet .diary-manual-food-form label small{color:var(--muted);font-size:12px;font-weight:400}@media (max-width:420px){.k-add-sheet .diary-add-mode button{font-size:13px}.k-add-sheet .diary-add-mode button svg{display:none}}.k-conflict{display:flex;align-items:flex-start;gap:6px;margin:6px 0 0 38px;color:var(--warn);font-size:12px;line-height:1.35}.k-conflict svg{flex:0 0 auto;margin-top:1px}.k-conflict-large{margin:0;border-radius:var(--radius-control);background:var(--warn-bg);padding:10px 12px;font-size:13px}.k-household .ui-card>.k-field,.k-household .ui-card>.k-help,.k-household .ui-card>.k-switch,.k-household .ui-card>.ui-button{margin-top:12px}.k-household-status{margin:0 0 12px}.k-person-item .k-list-row{flex:1 1 auto;min-width:0}.k-person-name{margin-left:8px}.k-switch{display:flex;width:100%;align-items:center;gap:12px;border:0;background:transparent;color:var(--ink);padding:4px 0;font:inherit;font-weight:600;text-align:left;cursor:pointer}.k-switch-track{position:relative;flex:0 0 auto;width:46px;height:28px;border-radius:999px;background:var(--track);transition:background-color .15s ease}.k-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(22,24,29,.25);transition:transform .15s ease}.k-switch[aria-checked=true] .k-switch-track{background:var(--accent)}.k-switch[aria-checked=true] .k-switch-thumb{transform:translateX(18px)}.k-target-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0;border:0;padding:0}.k-target-fields legend{margin-bottom:6px;color:var(--muted);font-size:12px}.k-push-settings{display:grid;grid-gap:10px;gap:10px;margin-top:8px}.k-push-card{margin:12px 0}.k-push-profile{margin-top:18px}.k-intake-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.k-intake-list .k-chip{display:inline-flex;min-height:44px;align-items:center;gap:6px}.k-add-sheet .diary-manual-food-form>button.k-sheet-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.k-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.k-editor-actions .ui-button:last-child{margin-left:auto}.k-recipe-tags{margin:-6px 0 16px}@media (max-width:560px){.pantry-manual-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.pantry-manual-form>button{grid-column:1/-1;min-height:44px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:600}.pantry-manual-form>button:disabled{opacity:.5}.k-list-row:not(:has(.k-list-icon)){grid-template-columns:minmax(0,1fr) auto}.k-signout{width:100%;color:var(--danger)}.k-inline-fix{justify-self:start;min-height:36px;margin-top:8px;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--accent);padding:0 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.product-scan-compact{display:grid;grid-gap:8px;gap:8px;margin-bottom:12px}.product-scan-compact .scan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.product-scan-compact .scan-actions>button,.product-scan-compact .scan-actions>label{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--accent);padding:0 12px;font:inherit;font-weight:600;cursor:pointer}.product-scan-compact .scan-actions>label input{display:none}.product-scan-compact .k-help{margin:0;font-size:13px}.k-more-fields{border-top:1px solid var(--line);padding-top:10px}.k-more-fields>summary{min-height:44px;display:flex;align-items:center;color:var(--accent);font-weight:600;cursor:pointer}.k-more-fields[open]>summary{margin-bottom:10px}.k-more-fields>:not(summary)+:not(summary){margin-top:10px}.three-column-fields:has(>.ui-stepper){grid-template-columns:repeat(2,minmax(0,1fr))}.three-column-fields>.ui-stepper{grid-column:1/-1;max-width:320px}.k-product-hints{display:grid;grid-gap:4px;gap:4px;margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:12px}.ui-avatar{display:inline-grid;flex:0 0 auto;place-items:center;border-radius:50%;font-weight:700;letter-spacing:.3px}.ui-avatar-own{background:var(--accent);color:var(--on-accent)}.ui-avatar-member{background:var(--fat-bg);color:var(--fat-text)}.ui-avatar-child{background:var(--warn-bg);color:var(--warn)}.k-household-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.k-people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));grid-gap:14px 8px;gap:14px 8px;margin:12px 0 0;padding:0;list-style:none}.k-people-grid>li{position:relative}.k-people-grid>li,.k-people-item{display:grid;justify-items:center}.k-people-item{grid-gap:4px;gap:4px;max-width:100%;color:var(--ink);text-align:center;text-decoration:none}.k-people-item strong{max-width:88px;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.k-people-item small{color:var(--muted);font-size:11px}.k-people-remove{position:absolute;top:-6px;right:calc(50% - 40px);display:grid;width:32px;height:32px;place-items:center;border:0;background:transparent;padding:0;cursor:pointer}.k-people-remove svg{box-sizing:content-box;border:1px solid var(--line);border-radius:50%;background:var(--surface);padding:4px;color:var(--danger)}.k-person-switch{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.k-person-switch::-webkit-scrollbar{display:none}.k-person{flex:0 0 auto;gap:8px;padding:4px 14px 4px 4px}.k-person-text{display:grid;text-align:left;line-height:1.15}.k-person-text strong{font-size:13px;font-weight:600}.k-person-text small{color:var(--muted);font-size:11px}.k-add-sheet .planner-participant-picker{display:flex;flex-wrap:wrap;gap:8px}.k-add-sheet .planner-participant-picker>div{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:3px}.k-add-sheet .planner-participant-picker>div.is-selected{border-color:var(--accent);background:var(--accent-bg)}.k-add-sheet .planner-participant-picker>div>button{display:inline-flex;min-height:36px;align-items:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--ink);padding:0 8px 0 0;font-size:13px;font-weight:600}.k-add-sheet .planner-participant-picker>div>input{width:52px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 6px;text-align:center}.k-add-sheet .planner-participant-picker>div>input:disabled{display:none}.k-shared-list{display:grid;grid-gap:14px;gap:14px;margin:12px 0 0;padding:0;list-style:none}.k-shared-list>li+li{border-top:1px solid var(--line-soft);padding-top:14px}.k-shared-person{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;color:var(--ink);text-decoration:none}.k-shared-copy{display:grid;grid-gap:6px;gap:6px;min-width:0}.k-shared-head{display:flex;justify-content:space-between;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-shared-head strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.k-shared-head small{flex:0 0 auto;color:var(--muted);font-size:12px}.k-shared-bar{height:6px;background:var(--track);overflow:hidden}.k-shared-bar,.k-shared-bar>span{display:block;border-radius:999px}.k-shared-bar>span{height:100%;background:var(--ink)}.k-shared-macros{margin-top:8px;padding-left:46px}.recipe-photo-card{position:relative;display:block;min-height:200px;overflow:hidden;padding:0;background-color:var(--track);background-position:50%;background-size:cover}.recipe-photo-card .recipe-library-card-link{display:flex;min-height:200px;align-items:flex-end;color:#fff}.recipe-photo-card .recipe-card-copy{display:grid;width:100%;grid-gap:4px;gap:4px;padding:12px 14px;background:rgba(10,12,16,.62)}.recipe-photo-card .recipe-card-copy :is(strong,span,p){color:#fff}.recipe-photo-card .recipe-card-copy .row-between span{border:0;background:hsla(0,0%,100%,.18)}.recipe-photo-card .recipe-card-tags span{background:hsla(0,0%,100%,.18)}.recipe-photo-card .recipe-local-actions{position:absolute;top:10px;right:10px;display:flex;gap:8px}.recipe-photo-card .recipe-local-actions :is(a,button){width:40px;min-height:40px;border:0;border-radius:50%;background:hsla(0,0%,100%,.92);padding:0}.recipe-photo-card .recipe-local-actions a{color:var(--accent)}.recipe-photo-card .recipe-local-actions button{color:var(--danger)}button.k-file-button,label.k-file-button{position:relative;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;justify-self:start;border:1px solid var(--accent);border-radius:999px;background:var(--surface);color:var(--accent);padding:0 16px;font:inherit;font-weight:600;cursor:pointer}.k-file-button:disabled{opacity:.5}.k-file-button input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.recipe-image-field{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.recipe-ocr-panel .k-more-fields{border-top:0;padding-top:0}.recipe-ocr-panel .k-more-fields[open]{display:grid;grid-gap:10px;gap:10px}.ui-avatar-pending{border:2px dashed var(--line);background:var(--surface);color:var(--muted)}.k-people-pending strong{color:var(--ink-2)}.k-figure-choice{display:flex;flex-wrap:wrap;gap:8px}.k-figure-choice button{display:grid;justify-items:center;grid-gap:4px;gap:4px;min-width:64px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);padding:8px;color:var(--ink-2);font:inherit;font-size:12px;cursor:pointer}.k-figure-choice button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.three-column-fields>.ui-stepper{justify-self:center;width:100%;max-width:280px}.three-column-fields>.ui-stepper .ui-stepper-label{text-align:center}.k-update-notice{position:fixed;z-index:60;right:calc(16px + env(safe-area-inset-right, 0px));bottom:calc(var(--bottom-nav-height) + 12px);left:calc(16px + env(safe-area-inset-left, 0px));display:flex;max-width:520px;align-items:center;justify-content:space-between;gap:12px;margin:0 auto;border-radius:var(--radius-card);background:var(--ink);color:#fff;padding:10px 10px 10px 16px;box-shadow:var(--shadow-float);font-size:14px}.k-update-notice button{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;gap:6px;border:0;border-radius:999px;background:var(--surface);color:var(--ink);padding:0 14px;font:inherit;font-weight:600;cursor:pointer}.ui-avatar-photo{overflow:hidden;background:var(--track)}.ui-avatar-photo img{display:block;width:100%;height:100%;object-fit:cover}.k-photo-picker{display:flex;gap:14px;align-items:center;margin-bottom:16px}.k-photo-picker-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.k-photo-picker-copy small{color:var(--muted);font-size:13px}.k-photo-picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.k-photo-picker-actions .ui-button{min-height:40px;gap:6px}.k-photo-picker-message{color:var(--ink)}.ui-balance-side:last-child strong{color:var(--planned-text)}.ui-balance-side:first-child span:before{background:var(--accent)}.ui-balance-side:first-child span:before,.ui-balance-side:last-child span:before{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;content:""}.ui-balance-side:last-child span:before{background:var(--planned)}.k-entry-planned .k-entry-status{background:var(--planned-bg);color:var(--planned-text)}.diary-energy-planned{background:var(--planned)}.k-supplement-today{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.k-supplement-today li{display:flex;gap:12px;align-items:center;font-size:15px}.k-supplement-time{min-width:56px;border-radius:var(--radius-control);background:var(--accent-bg);color:var(--accent-hover);padding:4px 8px;font-size:13px;font-weight:700;text-align:center}.k-supplement-macros{margin:12px 0 0;color:var(--muted);font-size:13px}.k-supplement-list{display:grid;margin:0 -4px;padding:0;list-style:none}.k-supplement-list li+li{border-top:1px solid var(--line-soft)}.k-supplement-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;width:100%;min-height:60px;border:0;background:none;color:var(--ink);padding:8px 4px;font:inherit;text-align:left;cursor:pointer}.k-supplement-row>svg{color:var(--muted)}.k-supplement-row.is-paused .k-list-copy{opacity:.55}.k-supplement-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--surface-muted);color:var(--ink-2)}.k-supplement-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.k-badge{border-radius:999px;background:var(--surface-muted);color:var(--ink-2);padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}.k-badge-warn{background:var(--warn-bg);color:var(--warn)}.k-supplement-group{display:grid;grid-gap:10px;gap:10px;margin:0;border:0;border-top:1px solid var(--line-soft);padding:14px 0 0}.k-supplement-group legend{padding:0;margin-bottom:2px;color:var(--ink);font-size:14px;font-weight:700}.k-supplement-group .k-field-hint{margin:0}.k-supplement-group .k-chip-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-left:0}.k-supplement-group .k-chip-row .k-chip{min-height:40px;padding:0}.k-supplement-times{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.k-supplement-time-input{display:inline-flex;gap:2px;align-items:center}.k-supplement-time-input .k-input{width:118px;min-height:40px}.k-date-field button,.k-supplement-time-input button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.k-supplement-times>.k-chip{min-height:40px}.k-date-field{position:relative;display:flex;gap:8px;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);padding:0 4px 0 12px;font-size:15px}.k-date-field.has-value{color:var(--ink)}.k-date-field-text{flex:1 1;min-width:0}.k-date-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.k-date-field button{position:relative;z-index:1}.k-supplement-manage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;border-top:1px solid var(--line-soft);padding-top:14px}.k-sheet-primary,.k-supplement-manage .ui-button{gap:6px}.ui-sheet-footer .k-sheet-primary{flex:1 1}.setup-sex-field{margin-top:4px}.setup-sex-field .k-chip-row{padding-left:0}.setup-sex-field .k-chip{min-height:40px}.ui-day.is-week-end,.ui-day.is-week-start{background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--line-soft)}.ui-day.is-week-end.is-selected,.ui-day.is-week-start.is-selected{background:var(--accent);box-shadow:none}button.k-shared-person{width:100%;grid-template-columns:auto minmax(0,1fr) auto;border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer}.k-shared-chevron{color:var(--muted);transition:transform .2s}.k-shared-list>li.is-open .k-shared-chevron{transform:rotate(180deg)}.k-shared-detail{display:grid;grid-gap:8px;gap:8px;padding-left:46px}.k-shared-detail .k-shared-macros{padding-left:0}.k-shared-link{justify-self:start;font-size:13px}.k-group.has-entries>.k-group-head .k-list-icon{background:var(--accent-bg);color:var(--accent)}.k-group.has-entries>.k-group-head .k-list-copy small{color:var(--ink-2);font-weight:600}.k-group:not(.has-entries)>.k-group-head .k-list-copy strong{color:var(--ink-2);font-weight:500}.k-entry-compact{gap:4px;padding:8px 10px 8px 12px}.k-entry-line{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0}.k-entry-title{overflow:hidden;min-width:0;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.k-entry-kcal{flex:none;color:var(--ink-2);font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-entry-meta{overflow:hidden;min-width:0;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.k-entry-buttons{display:flex;flex:none;gap:6px}.k-round{position:relative;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);padding:0;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.k-round:after{position:absolute;inset:-5px;content:""}.k-round-ok[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.k-round-part[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-hover)}.k-round-skip[aria-pressed=true]{border-color:var(--danger);background:var(--danger);color:#fff}.k-entry-compact.k-entry-planned{box-shadow:inset 3px 0 0 var(--planned)}.k-entry-compact.k-entry-consumed{box-shadow:inset 3px 0 0 var(--accent)}.k-food-picker{display:grid;grid-gap:10px;gap:10px}.k-food-search,.k-food-search-row{display:flex;gap:8px}.k-food-search{flex:1 1;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);padding:0 12px}.k-food-picker .k-food-search input{flex:1 1;min-height:0;padding:0;box-shadow:none;min-width:0;border:0;background:none;color:var(--ink);font:inherit;font-size:15px;outline:none}.k-food-scan{display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-2);cursor:pointer}.k-food-hits{display:grid;max-height:44vh;margin:0;overflow-y:auto;border:1px solid var(--line-soft);border-radius:var(--radius-control);padding:0;list-style:none}.k-food-hits li+li{border-top:1px solid var(--line-soft)}.k-food-hits button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:52px;border:0;background:var(--surface);color:var(--ink);padding:8px 12px;font:inherit;text-align:left;cursor:pointer}.k-food-hits button:active{background:var(--accent-bg)}.k-food-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--surface-muted);color:var(--ink-2)}.k-food-copy{display:grid;min-width:0;grid-gap:1px;gap:1px}.k-food-copy strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.k-food-copy small,.k-food-kcal{color:var(--muted);font-size:12px}.k-food-kcal{white-space:nowrap}.k-food-empty{padding:14px 12px;color:var(--muted);font-size:14px}.k-food-manual{display:flex;gap:8px;align-items:center;justify-self:start;min-height:44px;border:0;background:none;color:var(--accent);padding:0;font:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.k-food-picked{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent-bg);padding:8px 8px 8px 12px}.k-food-picked strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.k-food-change{display:inline-flex;gap:4px;align-items:center;min-height:36px;border:0;border-radius:999px;background:var(--surface);color:var(--ink-2);padding:0 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.k-add-sheet .k-form .ui-button{width:100%;gap:6px}.k-tag-input{gap:8px}.k-tag-list{display:flex;flex-wrap:wrap;gap:6px}.k-tag{display:inline-flex;gap:4px;align-items:center;min-height:32px;border:1px solid var(--accent-soft);border-radius:999px;background:var(--accent-bg);color:var(--accent-hover);padding:0 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.k-tag-suggestion{border-color:var(--line);border-style:dashed;background:var(--surface);color:var(--ink-2)}.k-tag-entry{display:flex;gap:8px}.k-tag-add{display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);cursor:pointer}.k-tag-add:disabled{color:var(--muted);cursor:default}.recipe-photo-card .recipe-card-meta span{border:0;background:hsla(0,0%,100%,.18);color:#fff}.recipe-filter-row{scrollbar-width:none}.recipe-filter-row::-webkit-scrollbar{display:none}.diary-product-results strong,.planner-recipe-list strong,.product-hub strong,.recipe-card-copy strong{font-weight:600}.k-groups-card .k-group-head{min-height:52px;grid-template-columns:32px minmax(0,1fr) 44px;gap:10px;padding:6px 16px}.k-groups-card .k-group-head .k-list-icon{width:32px;height:32px;border-radius:10px}.k-groups-card .k-group-head .k-list-icon svg{width:17px;height:17px}.k-groups-card .k-group-head .k-list-copy strong{font-size:14px}.k-groups-card .k-group-head .k-list-copy small{font-size:12px}.k-groups-card .k-group-entries{gap:6px;padding:0 16px 10px}.k-entry-compact{gap:2px;border-radius:10px;padding:6px 8px 6px 10px}.k-entry-compact .k-entry-title{font-size:13px}.k-entry-compact .k-entry-kcal{font-size:12px}.k-entry-compact .k-round{width:28px;height:28px;font-size:12px}.k-entry-compact .k-round svg{width:14px;height:14px}.k-entry-compact .k-round:after{inset:-8px}.k-entry-compact .k-entry-buttons{gap:8px}.k-food-more{display:grid;grid-gap:2px;gap:2px}.k-food-manual:disabled{color:var(--muted);cursor:default}.k-food-icon-off{background:var(--fat-bg);color:var(--fat-text)}.k-off-review{display:grid;grid-gap:10px;gap:10px}.k-off-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.k-off-values div{border-radius:var(--radius-control);background:var(--surface-muted);padding:8px;text-align:center}.k-off-values dt{color:var(--muted);font-size:12px}.k-off-values dd{margin:2px 0 0;font-size:15px;font-weight:700}.k-off-review .ui-button{width:100%}.k-option-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.k-option-buttons button{display:grid;min-height:72px;place-items:center;align-content:center;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink-2);padding:8px 4px;font:inherit;font-size:13px;font-weight:600;text-align:center;cursor:pointer}.k-option-buttons button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-hover)}.k-option-buttons+.k-field-hint{margin-top:10px}.k-food-actions{display:flex;justify-content:center;gap:8px}.k-food-action{display:inline-flex;gap:6px;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:0 16px;font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.k-food-action.is-choice,.k-food-action[aria-expanded=true]{border-color:var(--accent-soft);background:var(--accent-bg);color:var(--accent-hover)}.k-food-hits .k-food-online{grid-template-columns:auto minmax(0,1fr)}.k-food-online strong{color:var(--accent)}.recipe-toolbar{display:block;max-width:none;border-radius:var(--radius-card);padding:12px 16px;box-shadow:none}.recipe-toolbar .ui-stepper{justify-items:center;text-align:center}.recipe-toolbar .ui-stepper-control{width:min(100%,280px)}.k-food-results{display:grid;max-height:46vh;grid-gap:10px;gap:10px;overflow-y:auto}.k-food-results .k-food-hits{max-height:none;overflow:visible}.k-food-group{display:grid;grid-gap:4px;gap:4px}.k-food-group-label{margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.k-food-icon-blv{background:var(--danger-bg);color:var(--danger)}.bottom-nav .bottom-nav-add{border:0;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}.k-save-bar{position:-webkit-sticky;position:sticky;bottom:calc(var(--bottom-nav-height) + 8px);z-index:3;width:min(100%,var(--content-width));margin:16px auto 0}.k-save-bar .k-save-full{width:100%;min-height:52px;gap:8px;box-shadow:var(--shadow-float)}.k-save-stack{display:grid;grid-gap:8px;gap:8px}.k-save-full.ui-button{width:100%;min-height:52px}.recipe-scope-row{padding-left:0;margin-bottom:8px}.quick-add-list .quick-add-feedback{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:70px;width:100%;border:0;background:var(--accent-bg);color:var(--ink);padding:10px;font:inherit;text-align:left;cursor:pointer}.quick-add-list .quick-add-feedback>span:first-child{display:grid;width:42px;aspect-ratio:1;place-items:center;border-radius:8px;background:var(--accent);color:var(--on-accent)}.quick-add-list .quick-add-feedback+a{border-top:1px solid var(--line)}.k-feedback-shot{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.k-feedback-preview{position:relative;display:block;width:72px;height:96px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control)}.k-feedback-preview img{width:100%;height:100%;object-fit:cover}.k-feedback-preview button{position:absolute;top:4px;right:4px;display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff}.k-admin-message,.k-admin-stats{margin:0 auto 12px;width:min(100%,var(--content-width))}.k-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.k-admin-stat{display:grid;grid-gap:2px;gap:2px;border-radius:var(--radius-card);background:var(--surface);padding:12px}.k-admin-stat strong{font-size:22px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-admin-stat span{color:var(--muted);font-size:12px}.k-admin-invite{display:flex;gap:8px;margin:12px 0}.k-admin-invite .k-input{flex:1 1;min-width:0}.k-admin-feedback,.k-admin-list{display:grid;margin:0;padding:0;list-style:none}.k-admin-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;border-top:1px solid var(--line-soft);padding:10px 0}.k-food-tabs.k-admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.k-admin-list.k-admin-requests li{grid-template-columns:minmax(0,1fr) auto}.k-admin-list.k-admin-requests .k-list-copy{grid-column:1/-1}.k-admin-list.k-admin-requests .ui-button{justify-self:start}.k-admin-showall{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;min-height:40px;margin-top:4px;border:0;border-top:1px solid var(--line-soft);background:none;color:var(--accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.k-admin-showall[aria-expanded=true] svg{transform:rotate(180deg)}.k-admin-list .k-list-copy small.k-admin-activity{display:block;margin-top:2px;color:var(--ink-2);white-space:normal;overflow:visible;text-overflow:clip}.k-usage-list{display:grid;margin:0;padding:0;list-style:none}.k-usage-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 12px;gap:6px 12px;align-items:center;border-top:1px solid var(--line-soft);padding:10px 0}.k-usage-list li:first-child{border-top:0}.k-usage-share{display:grid;justify-items:end}.k-usage-share strong{font-size:15px}.k-usage-share small{color:var(--muted);font-size:11px}.k-usage-bar{grid-column:1/-1;height:6px;border-radius:999px;background:var(--track);overflow:hidden}.k-usage-bar span{display:block;height:100%;border-radius:999px;background:var(--accent)}.k-admin-compose textarea{min-height:96px;resize:vertical}.k-admin-sent{margin-top:12px}.k-admin-sent li{grid-template-columns:minmax(0,1fr) auto}.k-recipe-view-intro .k-detail-photo.is-visible{height:210px}.k-recipe-view-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0}.k-recipe-view-facts div{display:grid;grid-gap:4px;gap:4px;border-radius:12px;background:var(--surface-muted);padding:10px 12px}.k-recipe-view-facts dt{display:inline-flex;gap:5px;align-items:center;color:var(--muted);font-size:12px;font-weight:600}.k-recipe-view-facts dd{margin:0;color:var(--ink);font-size:17px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-recipe-view-lead{display:grid;grid-gap:6px;gap:6px;justify-items:start}.k-recipe-view-lead p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55}.k-recipe-view-lead p.is-clamped{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.k-recipe-view-lead .k-text-link{border:0;background:none;padding:0;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.k-detail-chips .k-recipe-view-allergens{background:var(--warn-bg,#fbefd6);color:var(--warn,#8a5a0b);font-weight:600}.k-recipe-view-title{display:flex;gap:8px;align-items:baseline;justify-content:space-between;margin:0;color:var(--ink);font-size:17px;font-weight:700}.k-recipe-view-title small{color:var(--muted);font-size:13px;font-weight:500}.k-recipe-view-ingredients,.k-recipe-view-steps{display:grid;margin:0;padding:0;list-style:none}.k-recipe-view-ingredients li+li,.k-recipe-view-steps li+li{border-top:1px solid var(--line-soft)}.k-recipe-view-ingredients button{display:grid;grid-template-columns:76px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:baseline;width:100%;min-height:44px;border:0;background:none;color:var(--ink);padding:10px 0;text-align:left;font:inherit;font-size:15px;cursor:pointer}.k-recipe-view-ingredients strong{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.k-recipe-view-ingredients span{display:grid;grid-gap:2px;gap:2px}.k-recipe-view-ingredients small{color:var(--muted);font-size:13px}.k-recipe-view-ingredients button[aria-pressed=true]{color:var(--muted)}.k-recipe-view-ingredients button[aria-pressed=true] span{text-decoration:line-through}.k-recipe-view-steps button{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;width:100%;border:0;background:none;color:var(--ink);padding:14px 0;text-align:left;font:inherit;cursor:pointer}.k-recipe-view-step-no{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:15px;font-weight:800}.k-recipe-view-step-text{display:grid;grid-gap:4px;gap:4px;font-size:16px;line-height:1.55}.k-recipe-view-step-text small{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.k-recipe-view-steps button[aria-pressed=true] .k-recipe-view-step-no{background:var(--fat);color:#fff}.k-recipe-view-steps button[aria-pressed=true] .k-recipe-view-step-text{color:var(--muted)}.k-admin-stats.k-admin-stats-compact{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.k-admin-stats.k-admin-stats-compact{grid-template-columns:repeat(4,minmax(0,1fr))}}.k-presence{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.k-presence:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}.k-presence-online{color:var(--success)}.k-presence-online:before{background:var(--fat);box-shadow:0 0 0 3px var(--fat-bg)}.k-presence-recent:before{background:var(--carbs)}.k-section-toggle{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-2);cursor:pointer}.k-section-toggle svg{transition:transform .15s ease}.k-section-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.k-admin-feedback{margin-top:10px}.k-admin-search{width:100%;margin-bottom:4px}.k-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.k-usage-tile{display:grid;grid-gap:4px;gap:4px;border-radius:14px;background:var(--surface-muted);padding:12px}.k-usage-label{color:var(--ink-2);font-size:13px;font-weight:600}.k-usage-tile strong{color:var(--ink);font-size:22px;font-weight:800;font-stretch:112%;line-height:1.1}.k-usage-tile strong small{color:var(--muted);font-size:13px;font-weight:600}.k-usage-tile>small{color:var(--muted);font-size:12px}.k-usage-dots{display:flex;gap:4px}.k-usage-dots i{width:12px;height:12px;border-radius:3px;background:var(--track)}.k-usage-dots i.is-on{background:var(--fat)}.k-recipient-chosen{display:flex;gap:12px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:8px 12px}.k-recipient-chosen .k-admin-showall{width:auto;margin:0;border:0}.k-recipient-hits{margin-top:6px}.k-news-tabs{width:min(100%,var(--content-width));margin:0 auto 12px}.k-news-tabs button{display:inline-flex;gap:6px;align-items:center;justify-content:center}.k-news-list{display:grid;margin:0;padding:0;list-style:none}.k-news-list>li{display:grid;grid-gap:6px;gap:6px;border-top:1px solid var(--line-soft);padding:14px 0}.k-news-list>li:first-child{border-top:0;padding-top:4px}.k-news-list strong{color:var(--ink);font-size:16px}.k-news-list p{margin:0;color:var(--ink-2);line-height:1.5;white-space:pre-line}.k-news-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:12px}.k-news-new{background:var(--accent-bg);color:var(--accent)}.k-news-packages{color:var(--muted);font-size:11px}.k-news-items{display:grid;grid-gap:4px;gap:4px;margin:0;padding-left:18px;color:var(--ink-2);line-height:1.5}.k-news-count{display:inline-grid;min-width:20px;height:20px;margin-left:8px;place-items:center;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;padding:0 6px;vertical-align:2px}.bottom-nav-icon{position:relative;display:inline-grid}.k-nav-dot{position:absolute;top:-2px;right:-4px;width:9px;height:9px;border:2px solid var(--surface);border-radius:50%;background:var(--danger)}.k-admin-requests .k-admin-request-note{display:block;margin-top:2px;color:var(--ink-2)}.k-admin-status-active{background:var(--fat-bg);color:var(--fat-text)}.k-admin-status-removed{background:var(--danger-bg);color:var(--danger)}.k-admin-filters{padding-left:0;margin-top:8px}.k-admin-feedback li{display:grid;grid-gap:8px;gap:8px;padding:12px 0}.k-admin-feedback li.is-done{opacity:.6}.k-admin-feedback p{margin:0;white-space:pre-wrap}.k-admin-feedback-head{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}.k-admin-feedback-head small{color:var(--muted)}.k-admin-kind-bug{background:var(--danger-bg);color:var(--danger)}.k-admin-kind-idea{background:var(--accent-bg);color:var(--accent-hover)}.k-admin-kind-praise{background:var(--fat-bg);color:var(--fat-text)}.k-admin-shot img{display:block;max-width:160px;max-height:220px;border:1px solid var(--line);border-radius:var(--radius-control);object-fit:cover}.k-admin-feedback-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.k-admin-check{display:inline-flex;gap:8px;align-items:center;font-size:14px}.k-admin-check input{width:20px;height:20px}.k-gate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 88%,transparent);padding:16px}.k-gate-card{display:grid;grid-gap:12px;gap:12px;width:min(100%,420px);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-float);padding:24px 20px;text-align:center}.k-gate-card h2{margin:0;font-size:20px}.k-gate-card p{margin:0;color:var(--ink-2)}.k-welcome-intro{display:grid;grid-gap:12px;gap:12px;justify-items:center;margin-bottom:8px;text-align:center}.k-welcome-intro p{margin:0;max-width:34em;color:var(--ink-2);line-height:1.5}.k-welcome-form,.k-welcome-form .k-setup-section{display:grid;grid-gap:12px;gap:12px}.k-welcome-form .k-setup-section{min-width:0;margin:0;border:0;border-top:1px solid var(--line-soft);padding:16px 0 4px}.k-welcome-form .k-setup-section legend{float:left;width:100%;margin:0 0 4px;padding:0;color:var(--ink);font-size:16px;font-weight:600}.k-welcome-form .k-setup-section legend+*{clear:both}.k-welcome-form .k-field{display:grid;grid-gap:6px;gap:6px}.k-gate-icon{display:grid;width:56px;height:56px;margin:0 auto;place-items:center;border-radius:50%;background:var(--accent-bg);color:var(--accent)}.k-admin-feedback li{display:block;border-top:1px solid var(--line-soft);padding:0}.k-feedback-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;width:100%;min-height:60px;border:0;background:none;color:var(--ink);padding:8px 2px;font:inherit;text-align:left;cursor:pointer}.k-feedback-row.is-done .k-list-copy{opacity:.55}.k-feedback-kind{display:grid;width:36px;height:36px;place-items:center;border-radius:10px}.k-feedback-flags{display:inline-flex;gap:8px;align-items:center;color:var(--muted)}.k-feedback-claude{background:var(--planned-bg);color:var(--planned-text)}.k-feedback-new{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent)}.k-feedback-detail{gap:12px}.k-feedback-meta{display:flex;flex-wrap:wrap;gap:6px}.k-feedback-byline{margin:0;color:var(--muted);font-size:13px}.k-feedback-message{margin:0;border-radius:var(--radius-control);background:var(--surface-muted);padding:12px;font-size:15px;line-height:1.45;white-space:pre-wrap}.k-feedback-image img{display:block;width:100%;max-height:60vh;border:1px solid var(--line);border-radius:var(--radius-control);object-fit:contain;background:var(--surface-muted)}.k-switch-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:12px}.k-switch-row span{display:grid;grid-gap:2px;gap:2px}.k-switch-row small{color:var(--muted);font-size:12px}input.k-switch{position:relative;flex:none;width:48px;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:var(--track);cursor:pointer;transition:background .2s}input.k-switch:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";transition:transform .2s}input.k-switch:checked{background:var(--accent)}input.k-switch:checked:after{transform:translateX(20px)}.k-admin-stat{border:1px solid var(--line-soft)}.ui-sheet-header-actions{display:flex;flex:none;gap:8px;align-items:center}.k-admin-feedback .k-feedback-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px;gap:4px;align-items:center}.k-feedback-delete{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.k-feedback-delete:focus-visible,.k-feedback-delete:hover{background:var(--danger-bg);color:var(--danger)}body main.app-shell.app-shell{padding-top:0}body main.app-shell.app-shell>:first-child,body main.app-shell.app-shell>:first-child>.ui-page-header:first-child{margin-top:0}body .ui-page-header{align-items:flex-start;padding-top:20px}body .ui-page-header .ui-label{min-height:17px}body .ui-page-header-action{flex:none;margin-top:10px}body .bottom-nav .bottom-nav-add,body .bottom-nav .bottom-nav-add.is-active,body .bottom-nav .bottom-nav-add:hover{border:0;outline:0;box-shadow:0 2px 6px rgba(0,0,0,.16)}.k-nutri-preview{display:grid;grid-gap:6px;gap:6px}.k-nutri-label{margin:0;color:var(--muted);font-size:12px}.k-nutri-preview dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin:0}.k-nutri-preview dl div{border-radius:var(--radius-control);background:var(--surface-muted);padding:8px 4px;text-align:center}.k-nutri-preview dt{color:var(--muted);font-size:11px;font-weight:500}.k-nutri-preview dd{margin:2px 0 0;font-size:15px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-nutri-preview .k-nutri-carbs dt{color:var(--carbs-text,var(--carbs))}.k-nutri-preview .k-nutri-protein dt{color:var(--protein-text,var(--protein))}.k-nutri-preview .k-nutri-fat dt{color:var(--fat)}.k-food-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;margin-bottom:10px;border-radius:999px;background:var(--surface-muted);padding:4px}.k-food-tabs button{min-height:36px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.k-food-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.k-recipes{width:min(100%,var(--content-width));margin:0 auto}.k-recipes-filters{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px}.k-recipes-filters .k-food-tabs{margin:0}.k-recipes-filters .k-food-search input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;outline:0}.k-recipes-chips{display:flex;gap:6px;overflow-x:auto;margin:0 -16px;padding:0 16px 2px;scrollbar-width:none}.k-recipes-chips::-webkit-scrollbar{display:none}.k-recipes-chips .k-chip{display:inline-flex;flex:none;gap:4px;align-items:center;cursor:pointer}.k-recipe-list{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.k-recipe-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface);color:var(--ink);padding:10px 12px 10px 10px;text-decoration:none}.k-recipe-card:active{background:var(--surface-muted)}.k-recipe-thumb{display:grid;flex:none;width:64px;height:64px;place-items:center;border-radius:12px;background:var(--accent-bg);background-position:50%;background-size:cover;color:var(--accent)}.k-recipe-copy{display:grid;flex:1 1;grid-gap:4px;gap:4px;min-width:0}.k-recipe-copy strong{font-size:15px;font-weight:600}.k-recipe-copy small,.k-recipe-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-recipe-copy small{color:var(--muted);font-size:12px}.k-recipe-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--ink-2);font-size:13px}.k-recipe-meta>span{display:inline-flex;gap:3px;align-items:center}.k-recipe-meta svg{color:var(--muted)}.k-recipe-protein{color:var(--protein-text,var(--protein));font-weight:600}.k-recipe-chevron{flex:none;color:var(--muted)}.k-recipes-empty{border-radius:16px;background:var(--surface);color:var(--muted);padding:16px;font-size:14px}.k-ingredient-row{gap:6px;border-bottom:1px solid var(--line-soft)}.k-ingredient-open,.k-ingredient-row{display:flex;align-items:center;padding:4px 0}.k-ingredient-open{flex:1 1;gap:10px;min-width:0;min-height:48px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.k-ingredient-open>svg{flex:none;color:var(--muted)}.k-ingredient-copy{display:grid;flex:1 1;grid-gap:2px;gap:2px;min-width:0}.k-ingredient-copy strong{overflow:hidden;font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.k-ingredient-copy small{display:inline-flex;gap:4px;align-items:center;color:var(--muted);font-size:12px}.k-ingredient-qty{flex:none;color:var(--ink-2);font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-ingredient-amount{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);grid-gap:10px;gap:10px;align-items:end}.k-unit-tabs{grid-template-columns:repeat(3,1fr);margin:0}.k-ingredient-link,.k-ingredient-skip{justify-self:center}.k-household-actions .ui-button{white-space:nowrap;padding-inline:12px;font-size:14px}.k-unit-tabs button[aria-checked=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}.ui-sheet-footer:has(.ui-button-danger){flex-direction:column;align-items:stretch}.k-goal-assistant{width:min(100%,var(--content-width));margin:0 auto}.k-goal-progress{height:6px;overflow:hidden;margin:0 0 12px;border-radius:999px;background:var(--track)}.k-goal-progress span{display:block;height:100%;background:var(--accent);transition:width .2s ease}.k-goal-body{display:grid;grid-gap:12px;padding-bottom:140px}.k-goal-body .ui-card{display:grid;grid-gap:12px;gap:12px}.k-choice-list,.k-goal-nav{display:grid;grid-gap:8px;gap:8px}.k-choice-list button{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:56px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:10px 14px;font:inherit;text-align:left;cursor:pointer}.k-choice-list button>span:first-child{display:grid;grid-gap:2px;gap:2px}.k-choice-list strong{font-size:15px;font-weight:600}.k-choice-list small{color:var(--muted);font-size:12px}.k-choice-dot{flex:none;width:20px;height:20px;border:2px solid var(--line);border-radius:50%}.k-choice-list button[aria-checked=true]{border-color:var(--accent);background:var(--accent-bg)}.k-choice-list button[aria-checked=true] .k-choice-dot{border:6px solid var(--accent);background:var(--surface)}.k-goal-check{display:flex;gap:10px;align-items:center;min-height:44px;font-size:15px}.k-goal-check input{width:20px;height:20px;accent-color:var(--accent)}.k-goal-facts{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none}.k-goal-facts li{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:10px 0;font-size:14px}.k-goal-facts li:last-child{border-bottom:0}.k-goal-facts span{color:var(--muted)}.k-goal-facts strong{font-weight:600;text-align:right}.k-goal-hint{display:flex;gap:8px;align-items:flex-start;margin:0;border-radius:12px;background:var(--accent-bg);color:var(--accent-hover);padding:10px 12px;font-size:13px}.k-goal-hint svg{flex:none;margin-top:1px}.k-goal-details{border-radius:16px;background:var(--surface);padding:4px 16px 12px}.k-goal-details summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-weight:600;cursor:pointer;list-style:none}.k-goal-details summary::-webkit-details-marker{display:none}.k-goal-details ol{display:grid;grid-gap:6px;gap:6px;margin:0 0 12px;padding-left:18px;font-size:14px}.k-goal-sources{display:grid;grid-gap:4px;gap:4px;margin:0 0 8px;padding-left:18px;color:var(--muted);font-size:12px}.k-goal-card{display:grid;grid-gap:12px;gap:12px;margin-bottom:12px}.k-goal-card .ui-button{width:100%}.k-goal-readjust{display:grid;grid-gap:10px;gap:10px;border-radius:12px;background:var(--surface-muted);padding:12px;font-size:14px}.k-goal-readjust p{margin:0}.k-goal-weight{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line-soft);padding-top:12px}.k-goal-weight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.k-goal-weight-row .ui-button{width:auto;min-height:44px}.k-goal-weights{display:grid;margin:0;padding:0;list-style:none}.k-goal-weights li{display:grid;grid-template-columns:1fr auto 32px;grid-gap:8px;gap:8px;align-items:center;border-bottom:1px solid var(--line-soft);padding:6px 0;font-size:14px}.k-goal-weights span{color:var(--muted)}.k-goal-weights button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.ui-page-header-actions{display:flex;gap:8px}.ui-icon-button.ui-icon-button-danger{border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-bg);color:var(--danger)}.ui-icon-button.ui-icon-button-accent{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-bg);color:var(--accent)}.k-scope-tabs{grid-template-columns:1fr 1fr auto}.k-scope-tabs .k-filter-tab{display:inline-flex;gap:6px;align-items:center;padding:0 14px}.k-chip-removable,.k-scope-tabs .k-filter-tab.is-active{background:var(--accent-bg);color:var(--accent-hover)}.k-chip-removable{display:inline-flex;gap:4px;align-items:center;border-color:var(--accent)}.k-filter-form{display:grid;grid-gap:16px;gap:16px}.k-filter-group{margin:0;border:0;padding:0}.k-filter-group legend{margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:500}.k-filter-group>div{display:flex;flex-wrap:wrap;gap:6px}.k-filter-group .k-chip{cursor:pointer}button.k-recipe-card{width:100%;font:inherit;text-align:left;cursor:pointer}.k-activity-badge{display:flex;gap:6px;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;margin:4px auto 0;border-radius:999px;background:var(--accent-bg);color:var(--accent-hover);padding:5px 12px;font-size:13px;font-weight:600;text-decoration:none}.k-body{width:min(100%,var(--content-width));margin:0 auto}.k-body .ui-card{display:grid;grid-gap:10px;gap:10px}.k-body-add{display:inline-flex;gap:6px;align-items:center;min-height:36px;border:1px solid var(--accent-soft);border-radius:999px;background:var(--surface);color:var(--accent);padding:0 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.k-body-delta{margin:-4px 0 0;color:var(--muted);font-size:13px}.k-body-chart{margin:0}.k-body-chart svg{display:block;width:100%;height:auto}.k-body-chart figcaption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.k-body-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));grid-gap:6px;gap:6px;margin:0}.k-body-values div{border-radius:var(--radius-control);background:var(--surface-muted);padding:8px 10px}.k-body-values dt{color:var(--muted);font-size:11px}.k-body-values dd{margin:2px 0 0;font-size:15px;font-weight:700}.k-body-toggle{display:inline-flex;gap:4px;align-items:center;justify-self:start;border:0;background:transparent;color:var(--accent);padding:4px 0;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.k-body-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.k-body-list{display:grid;margin:0;padding:0;list-style:none}.k-body-list li{display:grid;grid-template-columns:1fr auto auto 32px;grid-gap:8px;gap:8px;align-items:center;border-bottom:1px solid var(--line-soft);padding:8px 0;font-size:14px}.k-body-list li:last-child{border-bottom:0}.k-body-list span{display:inline-flex;gap:6px;align-items:center}.k-body-list small{color:var(--muted);font-size:12px}.k-body-trainings li{grid-template-columns:1fr auto 32px;grid-template-areas:"kind kcal del" "meta meta del";row-gap:2px}.k-body-trainings li>span{grid-area:kind;font-weight:600}.k-body-trainings li>small{grid-area:meta}.k-body-trainings li>strong{grid-area:kcal}.k-body-trainings li>button{grid-area:del}.k-body-list button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.k-field input[aria-invalid=true]{border-color:var(--danger)}.k-choice-list a{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:56px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:10px 14px;text-decoration:none}.k-choice-list a>span:first-child{display:grid;grid-gap:2px;gap:2px}.k-choice-list a strong{font-size:15px;font-weight:600}.k-choice-list a small{color:var(--muted);font-size:12px}.k-choice-list>*>svg{flex:none;color:var(--accent)}.k-goal-progress{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:4px;gap:4px;height:4px;overflow:visible;margin:-4px 0 14px;background:transparent}.k-goal-progress span{width:auto;height:4px;border-radius:999px;background:var(--track)}.k-goal-progress span.is-done{background:var(--accent)}.k-goal-body{gap:12px;padding-bottom:24px}.k-goal-step{display:grid;grid-gap:14px;gap:14px;border-radius:16px;background:var(--surface);padding:16px}.k-goal-question{margin:0;font-size:17px;font-weight:600}.k-goal-step>.k-help{margin:-8px 0 0}.k-goal-sub{margin:0;color:var(--muted);font-size:12px;font-weight:500}.k-option-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:14px}.k-option-list button{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:52px;border:0;border-bottom:1px solid var(--line-soft);background:var(--surface);color:var(--ink);padding:8px 14px;font:inherit;text-align:left;cursor:pointer}.k-option-list button:last-child{border-bottom:0}.k-option-list button>span{display:grid;grid-gap:1px;gap:1px}.k-option-list strong{font-size:15px;font-weight:500}.k-option-list small{color:var(--muted);font-size:12px}.k-option-list button[aria-checked=true]{background:var(--accent-bg)}.k-option-list button[aria-checked=true] strong{color:var(--accent-hover);font-weight:600}.k-option-list button>svg{flex:none;color:var(--accent)}.k-option-list button:disabled{opacity:.4;cursor:not-allowed}.k-goal-toggle{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:12px}.k-goal-toggle>span{display:grid;grid-gap:2px;gap:2px}.k-goal-toggle strong{font-size:15px;font-weight:500}.k-goal-toggle small{color:var(--muted);font-size:12px}.k-goal-toggle input{position:relative;flex:none;width:46px;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:var(--track);cursor:pointer;transition:background .2s}.k-goal-toggle input:after{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";transition:transform .2s}.k-goal-toggle input:checked{background:var(--accent)}.k-goal-toggle input:checked:after{transform:translateX(18px)}.k-goal-recommend{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--accent-soft);border-radius:14px;background:var(--accent-bg);padding:12px 14px}.k-goal-recommend p{display:flex;gap:6px;align-items:flex-start;margin:0;color:var(--accent-hover);font-size:14px}.k-goal-recommend p.k-help{color:var(--ink-2);font-size:13px}.k-goal-recommend-take{justify-self:start;min-height:34px;border:0;border-radius:999px;background:var(--accent);color:var(--on-accent);padding:0 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.k-goal-nav{display:flex;gap:10px;align-items:center;padding-top:4px}.k-goal-nav-space{flex:1 1}.k-round-nav{display:grid;flex:none;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}.k-round-nav-cancel{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-bg);color:var(--danger)}.k-round-nav-next{width:56px;height:56px;border:0;background:var(--accent);color:var(--on-accent)}.k-goal-nav .ui-button{min-height:52px;padding:0 20px}.k-goal-hero{text-align:center}.k-goal-hero .k-goal-facts,.k-goal-hero .k-goal-hint{text-align:left}.k-goal-kcal{display:grid;margin:0;font-size:40px;font-weight:800;font-stretch:112%;line-height:1}.k-goal-kcal span{margin-top:4px;color:var(--muted);font-size:13px;font-weight:500;font-stretch:100%}.k-goal-details{gap:0;padding:4px 16px}.k-goal-details[open]{padding-bottom:14px}.k-goal-details summary svg{transition:transform .2s}.k-goal-details[open] summary svg{transform:rotate(180deg)}.k-goal-timeline{display:grid;grid-gap:0;gap:0;margin:0 0 10px;padding:0;list-style:none}.k-goal-timeline li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start;padding:8px 0}.k-goal-timeline li:not(:last-child):before{position:absolute;top:34px;bottom:-6px;left:13px;width:2px;background:var(--line);content:""}.k-goal-timeline-dot{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--accent-bg);color:var(--accent-hover);font-size:12px;font-weight:700}.k-goal-timeline-text{display:grid;grid-gap:2px;gap:2px}.k-goal-timeline-text strong{font-size:14px;font-weight:600}.k-goal-timeline-text small{color:var(--muted);font-size:12px}.k-goal-timeline-value{border-radius:999px;background:var(--surface-muted);padding:3px 10px;font-size:13px;font-weight:700;white-space:nowrap}.k-goal-body-link{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line-soft);color:var(--ink);padding-top:12px;text-decoration:none}.k-goal-body-link>span{display:grid;flex:1 1;grid-gap:2px;gap:2px}.k-goal-body-link strong{font-size:15px;font-weight:600}.k-goal-body-link small{color:var(--muted);font-size:12px}.k-goal-body-link>svg{flex:none;color:var(--accent)}.k-recipe-card{height:92px;min-height:92px;overflow:hidden}.k-recipe-card,.k-recipe-card>.k-recipe-chevron,.k-recipe-card>.k-recipe-copy,.k-recipe-card>.k-recipe-thumb{position:relative}.k-recipe-card .k-recipe-copy small{display:block}.k-search-row{display:flex;gap:8px;align-items:center}.k-search-row .k-food-search{flex:1 1}.k-scan-sheet{display:grid;grid-gap:10px;gap:10px}.k-scan-video{width:100%;aspect-ratio:4/3;border-radius:14px;background:#000;object-fit:cover}.k-detail{display:grid;grid-gap:12px;gap:12px}.k-detail-page{display:grid;grid-gap:10px;gap:10px}.k-detail-card{border-radius:16px;background:var(--surface);padding:16px}.k-detail-photo{display:none;width:100%;height:170px;border-radius:14px;object-fit:cover}.k-detail-photo.is-visible{display:block}.k-detail-lead{margin:0;color:var(--ink-2);font-size:15px}.k-detail-sub{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin:0;color:var(--muted);font-size:13px}.k-detail-sub>span{display:inline-flex;gap:4px;align-items:center}.k-detail-chips{display:flex;flex-wrap:wrap;gap:6px}.k-detail-chips span{border-radius:999px;background:var(--surface-muted);color:var(--ink-2);padding:4px 10px;font-size:12px;font-weight:500}.k-detail-table{display:grid;margin:0}.k-detail-table div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:7px 0;font-size:14px}.k-detail-table div:last-child{border-bottom:0}.k-detail-table dt{color:var(--muted)}.k-detail-table dd{margin:0;font-weight:600}.k-detail-primary{width:100%}.k-detail-block{display:grid;grid-gap:6px;gap:6px}.k-detail-block p{margin:0;font-size:14px}.k-detail-list,.k-detail-steps{display:grid;margin:0;padding:0;list-style:none}.k-detail-list li{display:flex;gap:12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:9px 0;font-size:15px}.k-detail-list li:last-child{border-bottom:0}.k-detail-list li span{display:grid}.k-detail-list small{color:var(--muted);font-size:12px}.k-detail-list strong{flex:none;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-detail-steps{gap:12px}.k-detail-steps li{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px;align-items:start}.k-detail-steps li>span{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:var(--accent-bg);color:var(--accent-hover);font-size:13px;font-weight:700}.k-detail-steps p{margin:4px 0 0;font-size:15px;line-height:1.45}.k-detail-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid var(--line-soft);color:var(--muted);padding-top:10px;font-size:12px}.k-detail-page>.k-detail-footer{border-top:0;padding:4px 4px 0}.k-detail-footer a{color:var(--accent)}.k-detail-report{display:inline-flex;gap:4px;align-items:center;border:0;background:transparent;color:var(--muted);padding:4px 0;font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.k-detail-edit{border-top:1px solid var(--line-soft);padding-top:10px}.k-detail-edit summary{color:var(--accent);font-size:14px;font-weight:600;cursor:pointer}body main.app-shell.app-shell{padding-top:env(safe-area-inset-top)}.ui-sheet,body main.app-shell.app-shell{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.ui-sheet{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.ui-sheet-body{min-width:0;overflow-x:hidden}.ui-sheet-body .k-input,.ui-sheet-body input,.ui-sheet-body select,.ui-sheet-body textarea{max-width:100%;box-sizing:border-box}.k-goal-nav{justify-content:center;gap:14px;padding-top:8px}.k-goal-choice{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--accent-soft);border-radius:14px;background:var(--accent-bg);padding:14px}.k-goal-choice-text{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--accent-hover);font-size:16px;font-weight:600;line-height:1.35}.k-goal-choice-text svg{flex:none;margin-top:2px}.k-goal-choice .k-help{margin:0;color:var(--ink-2)}.setup-form .k-setup-section{display:grid;grid-gap:12px;gap:12px;margin:0 0 12px;border:0;border-radius:16px;background:var(--surface);padding:16px}.setup-form .k-setup-section legend{float:left;display:inline-flex;gap:8px;align-items:center;width:100%;margin:0;padding:0;color:var(--ink);font-size:16px;font-weight:600}.setup-form .k-setup-section legend svg{color:var(--accent)}.k-setup-hint{clear:both;margin:0;color:var(--muted);font-size:13px;line-height:1.4}.k-setup-notes summary{font-size:16px;font-weight:600;cursor:pointer}.k-setup-notes textarea{width:100%;margin-top:10px}.setup-form:has(.k-setup-section){border:0;background:transparent;box-shadow:none;padding:0}.setup-form:has(.k-setup-section)>.k-goal-card{margin-bottom:12px}.k-intro-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;background:rgba(10,12,16,.55);padding:0 max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}@media (min-width:640px){.k-intro-backdrop{place-items:center}}.k-intro-card{display:grid;grid-gap:12px;gap:12px;width:min(100%,440px);min-height:380px;align-content:start;border-radius:24px;background:var(--surface);color:var(--ink);padding:20px 20px 22px;box-shadow:var(--shadow-float)}.k-intro-top{display:flex;align-items:center;justify-content:space-between}.k-intro-logo svg{display:block;width:44px;height:44px}.k-intro-later,.k-intro-skip{border:0;background:transparent;color:var(--muted);padding:6px 0;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.k-intro-card h2{margin:4px 0 0;font-size:24px;font-weight:800;font-stretch:112%;line-height:1.15}.k-intro-card>p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.45}.k-intro-card ul{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.k-intro-card li{border-radius:12px;background:var(--surface-muted);padding:10px 12px;font-size:15px}.k-intro-dots{display:flex;gap:6px;justify-content:center;margin-top:auto;padding-top:8px}.k-intro-dots button{width:8px;height:8px;border:0;border-radius:999px;background:var(--track);padding:0;cursor:pointer}.k-intro-dots button[aria-current=true]{width:22px;background:var(--accent)}.k-intro-nav{display:flex;gap:12px;justify-content:center}.k-intro-actions{display:grid;grid-gap:8px;gap:8px}.k-intro-actions .ui-button{width:100%}.k-tour{z-index:80}.k-tour,.k-tour-dim{position:fixed;inset:0}.k-tour-dim{background:rgba(10,12,16,.55)}.k-tour-spot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px rgba(10,12,16,.6);outline:2px solid var(--accent);transition:all .2s ease;pointer-events:none}.k-tour-bubble{position:fixed;right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));display:grid;grid-gap:8px;gap:8px;max-width:440px;margin:0 auto;border-radius:18px;background:var(--surface);color:var(--ink);padding:14px 16px 16px;box-shadow:var(--shadow-float)}.k-tour-head{display:flex;align-items:center;justify-content:space-between}.k-tour-count{color:var(--muted);font-size:12px;font-weight:600}.k-tour-close{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:999px;background:var(--surface-muted);color:var(--ink);cursor:pointer}.k-tour-bubble h2{margin:0;font-size:17px;font-weight:700}.k-tour-bubble p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.45}.k-tour-nav{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.k-tour-nav .ui-button{min-width:120px}.k-page-tip{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:calc(var(--bottom-nav-height) + 12px);left:max(12px,env(safe-area-inset-left));z-index:40;display:flex;gap:10px;align-items:flex-start;max-width:520px;margin:0 auto;border:1px solid var(--accent-soft);border-radius:16px;background:var(--surface);color:var(--ink);padding:12px 12px 12px 14px;box-shadow:var(--shadow-float)}.k-page-tip>svg{flex:none;margin-top:2px;color:var(--accent)}.k-page-tip p{flex:1 1;margin:0;font-size:14px;line-height:1.4}.k-page-tip button{display:grid;flex:none;width:30px;height:30px;place-items:center;border:0;border-radius:999px;background:var(--surface-muted);color:var(--ink);cursor:pointer}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before,html{scroll-behavior:auto!important}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{zoom:var(--text-zoom,1)}.k-text-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:-2px}.ui-sheet-body{margin-inline:-4px;padding-inline:4px}.k-stars{display:inline-flex;gap:2px}.k-star{position:relative;display:inline-block;color:var(--accent)}.k-star-empty{color:var(--line)}.k-star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden}.k-star-fill svg{fill:currentColor}.k-rating-line{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;justify-self:start;margin:0;color:var(--ink-2);font-size:14px;text-decoration:none}button.k-rating-line{min-height:32px;border:0;background:transparent;padding:0;font:inherit;font-size:14px;cursor:pointer}.k-rating-line strong{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-rating-line.is-empty{color:var(--muted)}.k-my-rating{display:grid;grid-gap:6px;gap:6px;justify-items:center;text-align:center;scroll-margin-top:24px}.k-my-rating .k-rate{margin-left:0}.k-my-rating .k-help{margin:0}.k-rate{display:flex;gap:2px;margin-left:-10px}.k-rate button{display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.k-rate button.is-on{color:var(--accent)}.k-rate button.is-on svg{fill:currentColor}@media (hover:hover){.k-rate:hover button{color:var(--accent)}.k-rate button:hover~button{color:var(--muted)}}.k-recipe-meta .k-rating-badge{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.k-recipe-meta .k-rating-badge svg{color:var(--accent);fill:currentColor}.k-rating-badge small{color:#fff;color:var(--muted);font-size:12px;font-weight:500}.k-scope-tabs:has(>[role=tab]:nth-of-type(3)){grid-template-columns:1fr 1fr 1fr auto}.k-scope-tabs:has(>[role=tab]:nth-of-type(3)) .k-filter-tab{padding:0 10px}.k-recipe-thumb{position:relative;width:72px;height:72px;overflow:hidden}.k-thumb-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.k-recipe-thumb.has-photo .k-thumb-photo{opacity:1}.k-step-amount{border-radius:4px;background:var(--accent-bg);color:var(--accent-hover);padding:0 3px;font-weight:700}.k-recipe-view-steps button[aria-pressed=true] .k-step-amount{background:transparent;color:inherit}:where(.k-round,.k-date-field button,.k-section-toggle,.k-goal-weights button,.k-body-list button,.k-tour-close,.k-page-tip button,.k-feedback-preview button,.ui-sortable-handle,button.k-rating-line,button.k-chip,a.k-chip,button.k-tag){position:relative}:where(.k-round,.k-date-field button,.k-section-toggle,.k-goal-weights button,.k-body-list button,.k-tour-close,.k-page-tip button,.k-feedback-preview button,.ui-sortable-handle,button.k-rating-line,button.k-chip,a.k-chip,button.k-tag):after{position:absolute;top:50%;left:50%;width:max(100%,48px);height:max(100%,48px);transform:translate(-50%,-50%);content:""}.k-entry-compact .k-round:after,.k-round:after{inset:auto}a.k-chip,button.k-chip,button.k-tag{min-height:40px}.k-chip-row,.k-detail-chips,.k-recipes-chips,.k-tag-list{row-gap:8px}.k-add-sheet .planner-participant-picker>div>button,.k-food-tabs button{min-height:44px}.k-confirm-message{margin:0;color:var(--ink-2);font-size:15px;line-height:1.5}.k-confirm-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.k-confirm-actions .ui-button{min-height:48px}.k-admin-english{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line-soft);border-radius:var(--radius-control);padding:10px 12px}.k-admin-english summary{min-height:32px;color:var(--ink-2);font-weight:600;cursor:pointer}.ui-page-notice .k-text-link{display:inline;min-height:0;border:0;background:none;color:var(--accent);padding:0;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.recipe-import-top{margin-bottom:12px}.recipe-link-import{display:grid;grid-gap:8px;gap:8px;margin:8px 0 14px}.recipe-link-import .k-file-button{justify-self:start}