/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:"Nunito", ui-sans-serif, system-ui, sans-serif;--font-display:"Newsreader", ui-serif, Georgia, serif;--color-ground:#f4ede1;--color-surface:#fffdf8;--color-surface-plain:#fff;--color-surface-sunk:#fcfaf4;--color-surface-warm:#fbf3ea;--color-surface-tint:#f3ecdf;--color-ink:#38332c;--color-ink-soft:#5c554b;--color-ink-muted:#8b8172;--color-ink-faint:#a99e8c;--color-ink-ghost:#b4a997;--color-line:#e8e0d2;--color-line-soft:#efe8db;--color-line-faint:#f5efe3;--color-sage:#6f9b6e;--color-sage-dark:#5b8259;--color-sage-deep:#4f6e4e;--color-sage-soft:#eaf1e6;--color-sage-line:#cde0c8;--color-clay:#c67b54;--color-clay-dark:#b4633b;--color-clay-soft:#f7e9df;--color-gold:#c6a24b;--color-gold-soft:#f6eedb;--color-gold-line:#dfd3bb;--color-gold-note:#fbf6ea;--color-slate:#5e7c99;--color-slate-soft:#e9eef3;--color-surface-hover:#fbf6ec;--color-surface-fold:#fbf7ee;--color-tint-deep:#efe7d8;--color-track:#e1d8c7;--color-ink-label:#6e655a;--color-ink-note:#8a7e68;--color-on-ink:#fff;--color-line-dash:#d8cdb8;--color-sage-hover:#dce9d8;--color-sage-edge:#b7c9b0;--color-plant-tint:#fbfdf9;--color-clay-label:#b58461;--color-draft:#b4633b;--color-danger:#c0512e;--color-danger-soft:#f6e3db;--color-gold-deep:#9a7a24;--color-gold-edge:#d9be76;--color-gold-icon:#b08a5f;--color-veil:#fffdf8eb;--color-thumb-default:#e4d9c2}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--shade-warm:80 60 30;--shade-deep:60 40 20;--shade-sage:80 110 70;--shade-backdrop:56 51 44;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-ground);color:var(--color-ink);font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px}::selection{background:var(--color-sage-soft)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--color-track);border-radius:9px}input[type=range]{accent-color:var(--color-sage);height:6px}}@layer components{.display{font-family:var(--font-display);font-weight:400}.app-shell{background:var(--color-surface);border:1px solid var(--color-line);box-shadow:0 34px 80px -46px rgb(var(--shade-warm) / .4);border-radius:28px;width:1520px;max-width:100%;margin:0 auto;overflow:hidden}.label-caps{letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-ghost);font-size:11px;font-weight:800}.btn{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-size:13px;font-weight:800;transition:background .12s,filter .12s;display:inline-flex}.btn-primary{background:var(--color-sage);color:#fff}.btn-primary:hover{background:var(--color-sage-dark)}.btn-secondary{background:var(--color-surface-warm);border-color:var(--color-line);color:var(--color-ink-muted)}.btn-secondary:hover{background:var(--color-surface-tint)}.btn-back{background:var(--color-sage-soft);color:var(--color-sage-deep);padding:9px 16px;font-size:14px}.btn-back:hover{background:var(--color-sage-hover)}.field-label{color:var(--color-ink-muted);margin-bottom:6px;font-size:12.5px;font-weight:800;display:block}.input{box-sizing:border-box;width:100%;color:var(--color-ink);background:var(--color-surface-plain);border:1px solid var(--color-line);border-radius:12px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .12s}.input:focus{border-color:var(--color-sage);outline:none}.input-error{border-color:var(--color-clay-dark)}.card{background:var(--color-surface-plain);border:1px solid var(--color-line);border-radius:20px;padding:20px}.chip{border:1px solid var(--color-line);background:var(--color-surface-plain);color:var(--color-ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12.5px;font-weight:700;transition:all .12s;display:inline-flex}.chip-on{background:var(--color-sage-soft);border-color:var(--color-sage-line);color:var(--color-sage-deep)}.basis-switch{background:var(--color-surface-warm);border:1px solid var(--color-line);border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.basis-option{letter-spacing:.02em;color:var(--color-ink-ghost);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:800;transition:background .12s,color .12s;display:inline-flex}.basis-option:hover{color:var(--color-ink-muted)}.basis-option-on{background:var(--color-sage-soft);color:var(--color-sage-deep)}[data-basis-value][hidden]{display:none}.stat-protein{background:var(--color-sage-soft);color:var(--color-sage-deep)}.entry-stats{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.entry-stat{text-align:center;border-radius:11px;padding:8px 4px}.entry-stat .display{font-size:17px;line-height:1.1}.entry-stat>div:last-child{text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700}.entry-stat-kcal{background:var(--color-surface-sunk);color:var(--color-ink-label)}.stat-fat{background:var(--color-clay-soft);color:var(--color-clay-dark)}.stat-carbs{background:var(--color-gold-soft);color:var(--color-gold-deep)}.alert{border-radius:12px;padding:11px 14px;font-size:13px;font-weight:700;line-height:1.45}.alert-error{background:var(--color-clay-soft);color:var(--color-clay-dark)}.alert-success{background:var(--color-sage-soft);color:var(--color-sage-deep)}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-line);width:440px;max-width:100%;box-shadow:0 34px 80px -46px rgb(var(--shade-warm) / .4);border-radius:28px;padding:32px 34px 34px}.auth-brand{align-items:center;gap:14px;margin-bottom:26px;display:flex}.auth-mark{background:var(--color-sage-soft);width:42px;height:42px;color:var(--color-sage);font-family:var(--font-display);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:23px;display:flex}.auth-title{font-family:var(--font-display);margin-bottom:6px;font-size:26px;line-height:1.1}.auth-lede{color:var(--color-ink-faint);margin-bottom:22px;font-size:13.5px;line-height:1.5}.auth-fields{flex-direction:column;gap:16px;display:flex}.auth-foot{border-top:1px solid var(--color-line-soft);color:var(--color-ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:22px;padding-top:18px;font-size:13px;display:flex}.link{color:var(--color-sage-deep);font-weight:800;text-decoration:none}.link:hover{color:var(--color-clay)}.field-note{color:var(--color-clay-dark);margin-top:5px;font-size:12px;font-weight:700}.toast{background:var(--color-ink);color:var(--color-on-ink);z-index:60;border-radius:999px;padding:13px 24px;font-size:13.5px;font-weight:700;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 20px 44px -14px #00000080}.toast-error{background:var(--color-clay-dark)}.app-header{border-bottom:1px solid var(--color-line-soft);background:var(--color-surface-plain);justify-content:space-between;align-items:center;gap:18px;padding:22px 30px;display:flex}.app-tabs{background:var(--color-surface-tint);border-radius:12px;align-items:center;gap:6px;padding:4px;display:flex}.app-tab{color:var(--color-ink-muted);border-radius:9px;padding:8px 18px;font-size:13.5px;font-weight:800;text-decoration:none;transition:background .12s,color .12s}.app-tab:hover{color:var(--color-ink)}.app-tab-on{background:var(--color-surface-plain);color:var(--color-ink)}.stat-pill{text-align:right;border-radius:13px;padding:8px 16px}.stat-pill-label{font-size:11px;font-weight:700}.stat-pill-value{font-family:var(--font-display);font-size:19px}.ing-table{border:1px solid var(--color-line);border-radius:16px;overflow:hidden}.ing-grid{grid-template-columns:1fr 84px 58px 58px 58px 90px 98px 56px 68px;align-items:center;gap:8px;display:grid}.ing-head{background:var(--color-surface-sunk);border-bottom:1px solid var(--color-line-soft);letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-faint);padding:11px 14px;font-size:11px;font-weight:800}.ing-head a{color:inherit;text-decoration:none}.ing-head a:hover{color:var(--color-ink-muted)}.ing-row{border-bottom:1px solid var(--color-line-faint);padding:5px 14px;transition:background .1s}.ing-row-plant{background:var(--color-plant-tint)}.ing-row:hover{background:var(--color-surface-hover)}.ing-sort-hint{align-items:center;gap:10px;margin-bottom:14px;display:flex}.ing-sort-hint[hidden]{display:none}.ing-row[aria-busy=true],.ing-unit-fields[aria-busy=true]{opacity:.55;cursor:progress}[aria-busy=true] .ing-input,[aria-busy=true] .plant-toggle{pointer-events:none}@keyframes ing-saved-flash{0%{background:var(--color-sage-soft)}to{background:0 0}}.ing-row.is-saved{animation:1.6s ease-out ing-saved-flash}.ing-row.is-error{background:var(--color-clay-soft)}.ing-state{text-align:center;min-width:14px;color:var(--color-ink-ghost);font-size:12px;font-weight:800;line-height:1}.is-dirty .ing-state:before{content:"•";color:var(--color-clay);font-size:17px}.is-saving .ing-state:before{content:"⏳"}.is-saved .ing-state:before{content:"✓";color:var(--color-sage-deep)}.is-error .ing-state:before{content:"!";color:var(--color-clay-dark)}.ing-input{width:100%;color:var(--color-ink-soft);text-align:right;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 4px;font-family:inherit;font-size:13px;font-weight:600}.ing-input-name{color:var(--color-ink);text-align:left;padding:6px 8px;font-size:13.5px;font-weight:700}.ing-input-price{color:var(--color-clay);font-weight:700}.ing-row:hover .ing-input{border-color:var(--color-line)}.ing-input:focus{border-color:var(--color-sage);background:var(--color-surface-plain);outline:none}.plant-toggle{border:1.5px solid var(--color-line);color:#fff;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:flex}.plant-toggle-on{background:var(--color-sage);border-color:var(--color-sage)}.icon-btn{width:26px;height:26px;color:var(--color-ink-ghost);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;font-weight:800;transition:all .12s;display:flex}.icon-btn:hover{background:var(--color-clay-soft);color:var(--color-clay-dark)}.component-grams{min-width:62px;color:var(--color-ink-ghost);white-space:nowrap;font-size:11.5px;font-weight:700}.unit-toggle{font:inherit;color:var(--color-ink-ghost);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:3px;padding:3px 7px;font-size:11.5px;font-weight:800;display:flex}.ing-row:hover .unit-toggle{border-color:var(--color-line)}.unit-toggle[aria-expanded=true]{background:var(--color-sage-soft);border-color:var(--color-sage);color:var(--color-sage-deep)}.ing-units{background:var(--color-surface-sunk);border-bottom:1px solid var(--color-line-faint);flex-direction:column;gap:5px;padding:8px 14px 12px 26px;display:flex}.ing-units[hidden]{display:none}.ing-units-title{color:var(--color-ink-ghost);font-size:11.5px;font-weight:700}.ing-unit{align-items:center;gap:6px;display:flex}.ing-unit-fields{flex:1;align-items:center;gap:6px;min-width:0;max-width:420px;display:flex}.ing-unit .ing-input{border-color:var(--color-line);background:var(--color-surface-plain)}.ing-unit-suffix{color:var(--color-ink-faint);font-size:11.5px;font-weight:700}.use-badge{color:var(--color-ink-ghost);background:var(--color-surface-tint);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:800}.legend{border-bottom:1px solid var(--color-line-soft);background:var(--color-surface-sunk);color:var(--color-ink-muted);align-items:center;gap:20px;padding:11px 30px;font-size:12px;font-weight:600;display:flex}.legend>span{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:3px;flex:none;width:11px;height:11px}.day-head{min-width:112px;color:inherit;border-radius:12px;flex-direction:column;flex:1;gap:1px;padding:8px 10px;text-decoration:none;transition:background .12s;display:flex}.day-head:hover{background:var(--color-surface-tint)}.matrix-row{border-radius:14px;align-items:stretch;gap:8px;padding:6px 0;transition:background .12s;display:flex}.matrix-row:hover{background:var(--color-surface-hover)}.cell-card{background:var(--color-surface-plain);border:1px solid var(--color-line);color:inherit;border-radius:10px;text-decoration:none;transition:box-shadow .12s;display:block;overflow:hidden}.cell-card:hover{box-shadow:0 10px 22px -14px rgb(var(--shade-warm) / .5)}.cell-thumb{height:46px;position:relative}.cell-hatch{background:repeating-linear-gradient(135deg,#ffffff47 0 5px,#0000 5px 11px);position:absolute;inset:0}.thumb-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cell-tag{color:#fff;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:800;position:absolute;bottom:6px;left:6px}.cell-who{gap:2px;display:flex;position:absolute;top:6px;right:6px}.who-dot{color:#fff;border:1.5px solid var(--color-surface-plain);border-radius:999px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:8px;font-weight:800;display:flex}.cell-note{background:var(--color-gold-note);border:1px dashed var(--color-gold-line);border-left:3px solid var(--color-gold-edge);border-radius:9px;flex-direction:column;gap:3px;padding:6px 9px;display:flex}.basket-row{border:1px solid var(--color-line-soft);border-radius:10px;align-items:center;gap:10px;padding:8px 11px;display:flex}.basket-dot{border-radius:999px;flex:none;width:7px;height:7px}.eaters-bar{border-top:1px solid var(--color-line-soft);background:var(--color-surface-sunk);align-items:center;gap:26px;padding:18px 30px;display:flex}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;display:grid}.recipe-card{background:var(--color-surface-plain);border:1px solid var(--color-line);color:inherit;border-radius:18px;flex-direction:column;text-decoration:none;transition:box-shadow .14s;display:flex;overflow:hidden}.recipe-card:hover{box-shadow:0 18px 34px -22px rgb(var(--shade-warm) / .4)}.recipe-thumb{height:104px;position:relative}.recipe-badge{color:#fff;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:800;position:absolute}.recipe-badge-tl{top:10px;left:10px}.recipe-badge-tr{top:10px;right:10px}.recipe-badge-bl{bottom:10px;left:10px}.recipe-badge-br{bottom:10px;right:10px}.recipe-filters{background:var(--color-surface-fold);border-right:1px solid var(--color-line);flex:none;align-self:stretch;width:288px;padding:22px 20px 34px}.filter-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-ghost);margin-bottom:10px;font-size:11px;font-weight:800}.ingredient-row{border:1px solid var(--color-line-soft);background:var(--color-surface-plain);color:inherit;border-radius:12px;align-items:center;gap:12px;padding:11px 13px;text-decoration:none;transition:background-color .12s,border-color .12s;display:flex}.ingredient-row:hover{border-color:var(--color-line);background:var(--color-surface-hover)}.ingredient-row:hover .ingredient-name>div:first-child{text-underline-offset:2px;text-decoration:underline}.photo-pending{background:var(--color-draft);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.photo-pending[hidden]{display:none}.cell-tag-link{background:var(--color-veil);color:var(--color-ink-label);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;text-decoration:none;transition:background-color .12s,color .12s}.cell-tag-link:hover{background:var(--color-ink);color:var(--color-on-ink)}.step-num{background:var(--color-sage-soft);width:30px;height:30px;color:var(--color-sage-deep);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.editor-row{background:var(--color-surface-plain);border:1px solid var(--color-line-soft);border-radius:11px;align-items:center;gap:10px;padding:8px 11px;display:flex}.editor-step{background:var(--color-surface-plain);border:1px solid var(--color-line-soft);border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.chip input[type=checkbox]{margin:0}summary::-webkit-details-marker{display:none}.app-brand{color:inherit;align-items:center;gap:14px;text-decoration:none;transition:opacity .12s;display:flex}.app-brand:hover{opacity:.72}.menu-add-btn{box-shadow:0 12px 26px -12px rgb(var(--shade-sage) / .65);border-radius:999px;padding:13px 22px;font-size:14.5px}.menu-add-form{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.menu-add-days{background:var(--color-surface-tint);color:var(--color-ink-label);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.menu-add-days input{width:3ch;font:inherit;color:var(--color-ink);text-align:right;appearance:textfield;background:0 0;border:0;padding:0}.menu-add-days input::-webkit-outer-spin-button{appearance:none;margin:0}.menu-add-days input::-webkit-inner-spin-button{appearance:none;margin:0}.menu-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=900px){.menu-grid{grid-template-columns:1fr}}.menu-card{background:var(--color-surface);border:1px solid var(--color-line);box-shadow:0 20px 44px -34px rgb(var(--shade-warm) / .42);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.menu-thumb{border-radius:18px;flex:none;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:6px;width:112px;height:112px;padding:9px;display:grid}.menu-inline{background:0 0;border:1px solid #0000;border-radius:9px;outline:none;width:100%;font-family:inherit;transition:background .12s,border-color .12s}.menu-inline:hover,.menu-inline:focus{background:var(--color-surface-hover);border-color:var(--color-line)}.menu-inline-name{color:var(--color-ink);margin:-3px -7px 2px;padding:3px 7px;font-size:21px}.menu-inline-note{color:var(--color-ink-muted);margin:0 -7px 11px;padding:3px 7px;font-size:13px}.menu-date{cursor:pointer;background:var(--color-surface-tint);color:var(--color-ink-label);border:0;border-radius:999px;align-items:center;gap:7px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .12s;display:inline-flex}.menu-date:hover{background:var(--color-surface-tint)}.menu-foot{border-top:1px solid var(--color-line-soft);background:var(--color-surface-sunk);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:13px 20px;display:flex}.menu-stat-label{color:var(--color-ink-ghost);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.menu-icon{width:37px;height:37px;color:var(--color-ink-faint);cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.menu-icon:hover{background:var(--color-tint-deep);color:var(--color-ink-label)}.menu-icon-danger{color:var(--color-ink-ghost)}.menu-icon-danger:hover{background:var(--color-danger-soft);color:var(--color-danger)}.menu-create-tile-form{display:flex}.menu-create-tile{cursor:pointer;border:2px dashed var(--color-sage-line);min-height:230px;color:var(--color-sage);text-align:center;background:0 0;border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:20px;font-family:inherit;transition:border-color .14s,background .14s;display:flex}.menu-create-tile:hover{border-color:var(--color-sage-edge);background:var(--color-plant-tint)}.menu-create-plus{background:var(--color-sage-soft);border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;font-size:30px;line-height:1;display:flex}.menu-crumb{align-items:center;gap:12px;padding:15px 30px 3px;display:flex}.crumb-back{color:var(--color-sage-deep);background:var(--color-sage-soft);border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:800;text-decoration:none;transition:background .12s;display:inline-flex}.crumb-back:hover{background:var(--color-sage-hover)}.datepicker{position:relative}.datepicker-panel{z-index:70;background:var(--color-surface);border:1px solid var(--color-line);width:268px;box-shadow:0 24px 50px -22px rgb(var(--shade-deep) / .45);border-radius:18px;padding:14px;position:fixed;top:0;left:0}.datepicker-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.datepicker-title{font-family:var(--font-display);color:var(--color-ink);font-size:16px}.datepicker-nav{width:28px;height:28px;color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:17px;line-height:1;transition:background .12s,color .12s}.datepicker-nav:hover{background:var(--color-surface-tint);color:var(--color-ink)}.datepicker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datepicker-week{margin-bottom:4px}.datepicker-weekday{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-ghost);padding:4px 0;font-size:10.5px;font-weight:800}.datepicker-day{aspect-ratio:1;color:var(--color-ink);cursor:pointer;background:0 0;border:0;border-radius:10px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .12s,color .12s}.datepicker-day:hover{background:var(--color-surface-tint)}.datepicker-day.is-outside{color:var(--color-ink-ghost);font-weight:600}.datepicker-day.is-today{box-shadow:inset 0 0 0 1.5px var(--color-line)}.datepicker-day.is-in-range{background:var(--color-sage-soft);color:var(--color-sage-deep)}.datepicker-day.is-selected{background:var(--color-sage);color:#fff;box-shadow:none}.datepicker-day.is-selected:hover{background:var(--color-sage-dark)}.datepicker-foot{border-top:1px solid var(--color-line-soft);color:var(--color-ink-ghost);text-align:center;margin-top:10px;padding-top:10px;font-size:11.5px;font-weight:700}.edit-toggle{background:var(--color-surface-warm);border:1px solid var(--color-line);color:var(--color-ink-muted);border-radius:12px;align-items:center;gap:9px;padding:8px 14px;font-size:13px;font-weight:800;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.edit-toggle-on{background:var(--color-sage-soft);border-color:var(--color-sage-line);color:var(--color-sage-deep)}.edit-switch{background:var(--color-track);border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.edit-toggle-on .edit-switch{background:var(--color-sage)}.edit-knob{background:#fff;border-radius:999px;width:18px;height:18px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.edit-toggle-on .edit-knob{left:18px}.matrix-cell{flex-direction:column;flex:1;gap:5px;min-width:112px;display:flex}.matrix-cell.is-drop{outline-offset:2px;border-radius:10px;outline:2px dashed #0000;transition:background .12s,outline-color .12s}.matrix-cell.is-over{background:var(--color-sage-soft);outline-color:var(--color-sage-line)}.matrix-cell.is-saving{opacity:.6}.cell-card.is-draggable,.cell-note.is-draggable{cursor:grab;color:inherit;text-decoration:none}.cell-card.is-dragging,.cell-note.is-dragging{opacity:.4}.cell-add{border:1.5px dashed var(--color-line);text-align:center;color:var(--color-ink-ghost);border-radius:9px;padding:6px;font-size:11px;font-weight:800;text-decoration:none;transition:border-color .12s,color .12s}.cell-add:hover{border-color:var(--color-sage-edge);color:var(--color-sage)}.matrix-add-day,.matrix-add-row{cursor:pointer;border:1.5px dashed var(--color-sage-line);color:var(--color-sage);background:0 0;border-radius:12px;font-family:inherit;font-weight:800;transition:background .12s}.matrix-add-day{flex:none;width:52px;font-size:20px}.matrix-add-day:hover,.matrix-add-row:hover{background:var(--color-sage-hover)}.matrix-add-row{width:100%;color:var(--color-ink-muted);border-color:var(--color-line-dash);margin-top:8px;padding:11px;font-size:13px}.row-name-input{width:100%;color:var(--color-ink);background:var(--color-surface-plain);border:1px solid var(--color-line);border-radius:9px;padding:6px 8px;font-family:inherit;font-size:12.5px;font-weight:800}.row-remove{color:var(--color-ink-ghost);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0 2px;font-family:inherit;font-size:10.5px;font-weight:700}.row-remove:hover{color:var(--color-clay-dark)}.modal-backdrop{background:rgb(var(--shade-backdrop) / .4);z-index:80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.modal-window{background:var(--color-surface);width:460px;max-width:100%;max-height:88vh;box-shadow:0 40px 90px -30px rgb(var(--shade-deep) / .5);border-radius:22px;overflow-y:auto}.modal-loading{text-align:center;color:var(--color-ink-ghost);padding:40px;font-size:13.5px;font-weight:700}.modal-hero{border-radius:22px 22px 0 0;height:96px;position:relative;overflow:hidden}.modal-head{border-bottom:1px solid var(--color-line-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.modal-close{background:var(--color-veil);width:30px;height:30px;color:var(--color-ink-muted);cursor:pointer;border:0;border-radius:999px;font-weight:800;position:absolute;top:12px;right:12px}.modal-close-plain{background:var(--color-surface-tint);flex:none;position:static}.modal-body{flex-direction:column;gap:16px;padding:20px 22px 22px;display:flex}.modal-foot{gap:10px;padding:0 22px 22px;display:flex}.modal-form{flex-direction:column;display:flex}.seg{background:var(--color-surface-tint);border-radius:11px;gap:6px;padding:4px;display:flex}.seg-opt{cursor:pointer;text-align:center;color:var(--color-ink-muted);border-radius:8px;flex:1;padding:8px;font-size:12.5px;font-weight:800;transition:background .12s,color .12s}.seg-opt-on{background:var(--color-surface-plain);color:var(--color-ink)}.seg-opt input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-sage);outline-offset:2px}.portion-row{align-items:center;gap:11px;display:flex}.portion-value{text-align:right;flex:none;min-width:44px;font-size:14px;font-weight:800}.add-note-form{border-bottom:1px solid var(--color-line-soft);gap:8px;padding:16px 22px;display:flex}.add-search{padding:14px 22px 8px}.add-list{padding:8px 22px 18px}.add-item{border:1px solid var(--color-line-soft);cursor:pointer;background:0 0;border-radius:11px;align-items:center;gap:11px;width:100%;padding:8px 10px;font-family:inherit;transition:background .1s;display:flex}.add-item:hover{background:var(--color-surface-tint)}.add-thumb{border-radius:9px;flex:none;width:34px;height:34px;position:relative;overflow:hidden}.app-account{border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:2px;text-decoration:none;transition:border-color .12s;display:flex}.app-account-on,.app-account:hover{border-color:var(--color-sage-line)}.app-account-mark{background:var(--color-sage-soft);width:34px;height:34px;color:var(--color-sage-deep);border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.person-card{align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.person-form{flex:1;gap:14px;min-width:0;display:flex}.person-avatar{border:0;flex:none;width:44px;height:44px;margin-top:18px;font-size:17px}.person-fields{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.swatch span{cursor:pointer;width:26px;height:26px;box-shadow:0 0 0 2px var(--color-surface), 0 0 0 2px transparent;border-radius:999px;transition:box-shadow .12s;display:block}.swatch input:checked+span{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-ink-ghost)}.swatch input:focus-visible+span{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-sage)}.theme-modes{flex-wrap:wrap;gap:7px;display:flex}.theme-modes .chip input{accent-color:var(--color-sage);width:14px;height:14px}.theme-clock{align-items:center;gap:8px;transition:opacity .12s;display:flex}.theme-clock .input{flex:1;width:auto;min-width:0}.theme-clock.is-off{opacity:.45}.add-person summary{display:inline-flex}.popover-form{z-index:20;background:var(--color-surface);border:1px solid var(--color-line);width:340px;max-width:90vw;box-shadow:0 24px 50px -24px rgb(var(--shade-deep) / .45);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.import-panel{z-index:20;background:var(--color-surface);border:1px solid var(--color-line);width:460px;max-width:90vw;box-shadow:0 24px 50px -24px rgb(var(--shade-deep) / .45);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.combo{flex:1;min-width:0;position:relative}.combo-input{width:100%}.combo-list{z-index:30;background:var(--color-surface);border:1px solid var(--color-line);max-height:260px;box-shadow:0 20px 40px -20px rgb(var(--shade-deep) / .4);border-radius:12px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combo-list[hidden]{display:none}.combo-item{width:100%;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.combo-item.is-active,.combo-item:hover{background:var(--color-sage-soft)}.combo-note{color:var(--color-ink-ghost);flex:none;font-size:11px;font-weight:700}.combo-empty{color:var(--color-ink-ghost);text-align:center;padding:12px 10px;font-size:12.5px;font-weight:600}.split{align-items:start;display:grid}.split-day{grid-template-columns:1fr 388px;gap:22px}.split-editor{grid-template-columns:1fr 400px;gap:26px}.split-account{grid-template-columns:1fr 380px;gap:24px}.split-dict{grid-template-columns:1fr 1fr;gap:22px}.recipe-layout{grid-template-columns:1fr 400px;grid-template-areas:"head side""main side";align-items:start;column-gap:26px;display:grid}.recipe-head{grid-area:head}.recipe-main{grid-area:main}.recipe-side{flex-direction:column;grid-area:side;gap:14px;display:flex}.ingredient-name{flex:1;min-width:0}.ingredient-amount,.ingredient-kcal,.ingredient-cost{text-align:right;font-size:13px;font-weight:600}.ingredient-amount{min-width:60px;color:var(--color-ink-faint)}.ingredient-kcal{min-width:64px;color:var(--color-ink-muted)}.ingredient-cost{min-width:52px;color:var(--color-clay);font-weight:700}.day-dish{background:var(--color-surface-plain);border:1px solid var(--color-line);width:300px;color:inherit;border-radius:15px;align-items:flex-start;gap:12px;padding:12px 13px;text-decoration:none;display:flex}.day-dish-thumb{border-radius:12px;flex:none;width:54px;height:54px;position:relative;overflow:hidden}.day-note{background:var(--color-gold-note);border:1px dashed var(--color-gold-line);border-left:4px solid var(--color-gold-edge);border-radius:13px;align-self:flex-start;width:220px;padding:11px 14px}.matrix-scroll{padding:16px 20px 22px;overflow-x:auto}.matrix-head{gap:8px;margin-bottom:10px;display:flex}.matrix-rowhead{flex:none;width:118px;padding:8px 6px 0 8px}.matrix-tail{flex:none;width:52px}.cell-body{padding:6px 8px}.basket-block{padding:8px 30px 26px}.basket-group{grid-template-columns:150px 1fr;align-items:start;gap:18px;display:grid}.basket-items{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.catalog{align-items:flex-start;display:flex}.catalog-main{flex:1;min-width:0;padding:22px 30px 40px}.recipe-card-body{flex-direction:column;flex:1;gap:9px;min-width:0;padding:12px 14px 14px;display:flex}.ing-toolbar{align-items:center;gap:10px;margin-bottom:14px;display:flex}.ing-search{flex:1;max-width:380px}.ing-drop{position:relative}.ing-drop-right{margin-left:auto}.ing-scroll{max-height:560px;overflow-y:auto}.ing-cell{min-width:0;display:block}.ing-cell-label{display:none}.app-page{min-height:100vh;padding:44px 40px 72px}.page-body{padding:24px 30px 36px}.app-header-side,.app-header-user{align-items:center;gap:12px;display:flex}.app-brand-name{font-size:22px;line-height:1}.app-brand-sub{color:var(--color-ink-faint);margin-top:3px;font-size:12.5px}.mobile-nav{z-index:40;background:var(--color-surface-plain);border-top:1px solid var(--color-line-soft);padding:8px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 26px -20px rgb(var(--shade-warm) / .6);gap:6px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tab{color:var(--color-ink-faint);border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 4px;font-size:10.5px;font-weight:800;text-decoration:none;transition:background .12s,color .12s;display:flex}.mobile-tab-on{background:var(--color-sage-soft);color:var(--color-sage-deep)}.day-strip{gap:8px;padding:12px 16px 4px;display:none;overflow-x:auto}.day-chip{background:var(--color-surface-plain);border:1px solid var(--color-line);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;flex:none;gap:2px;min-width:68px;padding:9px 11px;font-family:inherit;display:flex}.day-chip-name{color:var(--color-ink);font-size:13px;font-weight:800}.day-chip-date{color:var(--color-ink-faint);font-size:10px}.day-chip-cost{color:var(--color-clay);margin-top:2px;font-size:11px;font-weight:700}.day-chip.is-on{background:var(--color-sage-soft);border-color:var(--color-sage-line)}.day-chip.is-on .day-chip-name{color:var(--color-sage-deep)}.day-open{padding:10px 16px 0;display:none}.legend-hint-mobile{display:none}.sort-chips{gap:6px;margin-bottom:12px;padding-bottom:2px;display:none;overflow-x:auto}.sort-chips>.chip{flex:none}.only-mobile{display:none}}@layer utilities{.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-ml-px{margin-left:-1px}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.w-5{width:calc(var(--spacing) * 5)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}@media (width<=900px){.app-page{padding:0 0 84px}.app-shell{width:100%;box-shadow:none;border:0;border-radius:0}.app-header{flex-wrap:wrap;gap:10px;padding:13px 16px}.app-tabs,.app-header-user{display:none}.app-header-side{gap:8px;width:100%;overflow-x:auto}.app-brand-name{font-size:19px}.stat-pill{flex:none;padding:6px 12px}.stat-pill-value{font-size:16px}.mobile-nav,.sort-chips{display:flex}.only-mobile{display:block}.page-body{padding:18px 16px 26px}.card{border-radius:16px;padding:15px}.auth-page{padding:24px 14px}.auth-card{border-radius:22px;padding:24px 20px 26px}.toast{max-width:calc(100% - 32px);bottom:92px}.modal-backdrop{align-items:flex-end;padding:0}.modal-window{border-radius:22px 22px 0 0;width:100%;max-height:92vh}.ing-toolbar{flex-wrap:wrap}.ing-search,.ing-drop{flex:100%;max-width:none}.ing-drop-right{margin-left:0}.ing-drop>summary{justify-content:center;width:100%}.popover-form,.import-panel{width:auto;max-width:none;left:0;right:0}.menu-thumb{border-radius:16px;gap:5px;width:78px;height:78px;padding:7px}.menu-crumb{flex-wrap:wrap;gap:8px 12px;padding:12px 16px 2px}.legend{flex-wrap:wrap;gap:7px 14px;padding:10px 16px;font-size:11.5px}.day-strip{display:flex}.day-open{display:block}.legend-hint{display:none}.legend-hint-mobile{width:100%;color:var(--color-ink-faint);display:block}.matrix-head,.matrix-tail{display:none}.matrix-scroll{padding:6px 16px 18px;overflow-x:visible}.matrix-row{border-radius:0;flex-direction:column;gap:7px;padding:9px 0}.matrix-rowhead{width:100%;padding:0}.matrix-cell{min-width:0;display:none}.matrix-cell.is-day-on{display:flex}.cell-card{align-items:stretch;display:flex}.cell-thumb{flex:none;width:74px;height:auto;min-height:58px}.cell-tag{display:none}.cell-body{flex-direction:column;flex:1;justify-content:center;gap:3px;min-width:0;padding:9px 11px;display:flex}.cell-add{padding:11px;font-size:12.5px}.basket-block{padding:8px 16px 22px}.basket-group,.basket-items{grid-template-columns:1fr}.basket-group{gap:9px}.eaters-bar{flex-wrap:wrap;gap:14px 20px;padding:16px}.split-day,.split-editor,.split-account,.split-dict{grid-template-columns:1fr}.day-dish,.day-note{width:100%}.catalog{flex-direction:column}.recipe-filters{border-right:0;border-bottom:1px solid var(--color-line);width:100%;padding:16px}.filter-chips{max-height:108px;overflow-y:auto}.catalog-main{padding:18px 16px 26px}.recipe-grid{grid-template-columns:1fr;gap:12px}.recipe-card{flex-direction:row}.recipe-thumb{flex-direction:column;flex:none;justify-content:flex-end;align-items:flex-start;gap:3px;width:112px;height:auto;padding:6px;display:flex}.recipe-badge{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:2px 6px;font-size:8.5px;position:relative;inset:auto;overflow:hidden}.recipe-layout{grid-template-columns:1fr;grid-template-areas:"head""side""main";row-gap:20px}.ingredient-row{flex-wrap:wrap;gap:5px 10px;padding:10px 12px}.ingredient-name{flex:calc(100% - 30px)}.ingredient-amount,.ingredient-kcal,.ingredient-cost{flex:1 1 0;min-width:0;font-size:12.5px}.ingredient-amount{text-align:left}.ingredient-kcal{text-align:center}.editor-row{flex-wrap:wrap}.ing-head{display:none}.ing-scroll{max-height:none;overflow-y:visible}.ing-row{border:1px solid var(--color-line-soft);border-radius:14px;grid-template-columns:repeat(5,1fr);grid-template-areas:"name name name name name""kcal protein fat carbs price""plant units tools tools tools";gap:9px 6px;margin-bottom:8px;padding:11px 12px}.ing-row [name=name]{grid-area:name}.ing-cell-kcal{grid-area:kcal}.ing-cell-protein{grid-area:protein}.ing-cell-fat{grid-area:fat}.ing-cell-carbs{grid-area:carbs}.ing-cell-price{grid-area:price}.ing-plant-cell{grid-area:plant}.ing-units-cell{grid-area:units}.ing-tools{grid-area:tools}.ing-cell-label{color:var(--color-ink-ghost);text-transform:uppercase;text-align:center;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.ing-row .ing-input{border-color:var(--color-line);background:var(--color-surface-plain);text-align:center}.ing-row .ing-input-name{text-align:left}.ing-units{padding:10px 12px 12px}.ing-unit-fields{flex-wrap:wrap}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ground:#17140f;--color-surface:#1f1b15;--color-surface-plain:#241f19;--color-surface-sunk:#1b1712;--color-surface-warm:#2a231b;--color-surface-tint:#2e271e;--color-surface-hover:#2a241c;--color-surface-fold:#1d1913;--color-tint-deep:#372f24;--color-track:#3d352a;--color-ink:#efe7d9;--color-ink-soft:#d8cfbe;--color-ink-muted:#b5aa96;--color-ink-faint:#948a78;--color-ink-ghost:#7b7263;--color-ink-label:#c8bfae;--color-ink-note:#c9b48b;--color-on-ink:#17140f;--color-line:#362f26;--color-line-soft:#2e2820;--color-line-faint:#28221b;--color-line-dash:#4a4133;--color-sage:#7ba878;--color-sage-dark:#8cb989;--color-sage-deep:#a9cfa4;--color-sage-soft:#22301f;--color-sage-line:#3b5138;--color-sage-edge:#4e6a4a;--color-sage-hover:#2c3d29;--color-plant-tint:#1c231a;--color-clay:#d18a63;--color-clay-dark:#e6a482;--color-clay-soft:#35251c;--color-clay-label:#c08d6c;--color-gold:#c6a24b;--color-gold-soft:#332b18;--color-gold-line:#4c4127;--color-gold-note:#2a2417;--color-gold-edge:#6d5b30;--color-gold-deep:#d9b968;--color-gold-icon:#c39a63;--color-slate:#85a5c4;--color-slate-soft:#202730;--color-draft:#a8552f;--color-danger:#cf5c38;--color-danger-dark:#e07050;--color-danger-soft:#3a231b;--color-veil:#241f19eb;--color-thumb-default:#4a4133;--shade-warm:0 0 0;--shade-deep:0 0 0;--shade-sage:0 0 0;--shade-backdrop:0 0 0}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ground:#17140f;--color-surface:#1f1b15;--color-surface-plain:#241f19;--color-surface-sunk:#1b1712;--color-surface-warm:#2a231b;--color-surface-tint:#2e271e;--color-surface-hover:#2a241c;--color-surface-fold:#1d1913;--color-tint-deep:#372f24;--color-track:#3d352a;--color-ink:#efe7d9;--color-ink-soft:#d8cfbe;--color-ink-muted:#b5aa96;--color-ink-faint:#948a78;--color-ink-ghost:#7b7263;--color-ink-label:#c8bfae;--color-ink-note:#c9b48b;--color-on-ink:#17140f;--color-line:#362f26;--color-line-soft:#2e2820;--color-line-faint:#28221b;--color-line-dash:#4a4133;--color-sage:#7ba878;--color-sage-dark:#8cb989;--color-sage-deep:#a9cfa4;--color-sage-soft:#22301f;--color-sage-line:#3b5138;--color-sage-edge:#4e6a4a;--color-sage-hover:#2c3d29;--color-plant-tint:#1c231a;--color-clay:#d18a63;--color-clay-dark:#e6a482;--color-clay-soft:#35251c;--color-clay-label:#c08d6c;--color-gold:#c6a24b;--color-gold-soft:#332b18;--color-gold-line:#4c4127;--color-gold-note:#2a2417;--color-gold-edge:#6d5b30;--color-gold-deep:#d9b968;--color-gold-icon:#c39a63;--color-slate:#85a5c4;--color-slate-soft:#202730;--color-draft:#a8552f;--color-danger:#cf5c38;--color-danger-dark:#e07050;--color-danger-soft:#3a231b;--color-veil:#241f19eb;--color-thumb-default:#4a4133;--shade-warm:0 0 0;--shade-deep:0 0 0;--shade-sage:0 0 0;--shade-backdrop:0 0 0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
