:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:#514638;background:#eeebe3;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #fcfaf5;--cream: #f8f5ee;--ink: #514638;--muted: #827966;--terracotta: #a55e45;--olive: #737c5b;--line: #e6dece}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a,input,textarea{outline-offset:4px}:focus-visible{outline:2px solid var(--terracotta)}button{color:inherit}button:disabled{opacity:.48;cursor:not-allowed}button,input,textarea{border-radius:0}button{border:0}button,input,textarea{transition:background-color .18s,border-color .18s,box-shadow .18s}svg{flex-shrink:0}p{line-height:1.65}h1,h2,h3,p{margin:0}h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}.app-shell{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:var(--cream);padding:env(safe-area-inset-top) 24px max(8px,env(safe-area-inset-bottom))}.planner-view{height:100dvh;min-height:min-content}.app-shell>main{flex:1}.planner-view>main{display:flex;flex-direction:column;min-height:min-content}.masthead{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding:6px 0;border-bottom:1px solid var(--line);margin-bottom:8px}.masthead-content{position:relative;z-index:1;pointer-events:none}.masthead h1 button{pointer-events:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;color:var(--muted);line-height:1.6}h1{line-height:1.1}h1 button{min-height:44px;padding:0 8px;background:none;color:#7f4936;font:400 30px Georgia,serif;letter-spacing:-1px;-webkit-user-select:none;user-select:none}h1 button span{color:#ad7652}.botanical{position:absolute;width:150px;height:160px;color:#a87550;opacity:.65;pointer-events:none}.branch-left{left:-39px;top:4px;transform:rotate(28deg) scaleX(-1)}.branch-right{right:-40px;top:30px;color:#8e9571;transform:rotate(-12deg);width:135px}.install-shortcut{flex-shrink:0}.main-nav{display:flex;gap:5px;width:fit-content;margin-left:auto;background:#ede8dd;padding:3px;border-radius:14px}.main-nav button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border-radius:10px;min-height:42px;padding:0 20px;color:#746b5c;font-size:13px;font-weight:500}.main-nav button.active{background:var(--paper);color:#86543d;box-shadow:0 2px 6px #51463809}.main-nav button:hover:not(.active){background:#f5f1e7}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{font-size:27px;margin-top:6px;color:#604b39}.section-heading .eyebrow{font-size:9px;letter-spacing:1.8px}.shopping{max-width:900px;margin:0 auto;padding-bottom:24px}.shopping-period{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0}.shopping-period label{flex:1 1 160px;min-width:0}.shopping-period input{display:block;width:100%;min-width:0;margin-top:6px}.shopping-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.shopping-meals{list-style:none;padding:0;margin:8px 0 20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.shopping-meals li+li{border-top:1px solid var(--line)}.shopping-meals label{display:flex;align-items:center;gap:14px;padding:14px;min-height:64px;cursor:pointer}.shopping-meals input{flex-shrink:0;width:20px;height:20px;accent-color:var(--olive)}.shopping-meals label>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.shopping-meals small{color:var(--muted);line-height:1.4}.shopping-meals strong{font-size:15px;font-weight:500}.shopping-generate{margin:12px 0}.shopping-output{display:block;width:100%;margin:8px 0;line-height:1.7;resize:vertical}.shopping-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.shopping-actions button{flex:1 1 200px}.date-dash{color:#b0a18a}.season-label{flex-shrink:0;font-size:11px;display:inline-flex;gap:6px;align-items:center;border:1px solid #e4d3bc;color:#996445;background:#f4ebde;padding:8px 11px;border-radius:30px}.season-label.spring,.season-label.summer{color:#65704e;background:#eaf0e0;border-color:#d6dfc7}.season-label.winter{color:#636f70;background:#e9edef;border-color:#d5dfe0}.planner{display:flex;flex-direction:column;flex:1;min-height:min-content}.planner>.section-heading{flex-wrap:wrap;gap:0 16px;margin-bottom:8px}.planner .section-heading h2{margin-top:0}.planner-heading-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--olive);background:transparent;padding:10px 0;min-height:42px;font-size:12px}.text-button:hover{color:var(--terracotta)}.menu-grid{display:flex;flex-direction:column;flex:1;min-height:min-content;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}.column-headings,.day-row{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr);gap:14px}.column-headings{flex-shrink:0;min-height:40px;padding:0 18px;align-items:center;background:#f0ebdf;border-bottom:1px solid var(--line)}.column-headings>span{display:flex;align-items:center;justify-content:center;gap:9px;color:#7b725c;font-size:13px}.column-headings>span:first-child{font-size:8px;letter-spacing:1.1px}.column-headings>span:nth-child(2) svg{color:#b48850}.column-headings>span:nth-child(3) svg{color:#878b71}.days-scroll{flex:1;min-height:420px;container-type:size;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#d9cfba transparent;overflow-anchor:none}.day-row{height:calc(100cqh / 7);min-height:60px;padding:7px 18px;border-bottom:1px solid #eee8dc;--day-tint: #f3efe3;--day-soft: #f8f5ee;--day-line: #ded4c0;--day-accent: #867152;background:linear-gradient(90deg,var(--day-tint) 0%,var(--day-soft) 45%,var(--day-soft) 75%,var(--paper) 100%)}.day-row.weekday-1{--day-tint: #e4cbb1;--day-soft: #f4e9dd;--day-line: #d4b89c;--day-accent: #725031}.day-row.weekday-2{--day-tint: #e7cdaf;--day-soft: #f6eadc;--day-line: #d7bb9a;--day-accent: #74522f}.day-row.weekday-3{--day-tint: #e9cfad;--day-soft: #f8ecdb;--day-line: #dabd99;--day-accent: #77542d}.day-row.weekday-4{--day-tint: #ecd2ab;--day-soft: #f9edd9;--day-line: #ddc097;--day-accent: #78562a}.day-row.weekday-5{--day-tint: #eed4a9;--day-soft: #faeed8;--day-line: #e0c395;--day-accent: #7a5828}.day-row.weekday-6{--day-tint: #f0d7a8;--day-soft: #fbf0d7;--day-line: #e2c693;--day-accent: #7c5a26}.day-row.weekday-7{--day-tint: #f1daa6;--day-soft: #fcf1d6;--day-line: #e4c991;--day-accent: #7d5d23;border-bottom:2px solid #d8cbb2}.day-row.is-today{background:linear-gradient(90deg,var(--day-tint) 0%,var(--day-tint) 30%,var(--day-soft) 100%);box-shadow:inset 0 0 0 1.5px var(--day-line)}.day-label{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding-left:9px}.weekday{font-size:12px;font-weight:600;text-transform:capitalize;letter-spacing:.2px;color:var(--day-accent)}.day-number{font-family:Georgia,serif;font-size:24px;color:var(--day-accent);line-height:1.15;margin-top:3px}.day-number small{font-family:Segoe UI,sans-serif;font-size:10px;margin-left:6px;color:#8b806d}.today-label{width:fit-content;color:#fffdf8;background:var(--day-accent);border-radius:20px;padding:1px 6px;font-size:8px;font-weight:600;margin-top:3px;letter-spacing:.3px}.meal-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-width:0;border:1px dashed #ded4c0;border-radius:10px;background:#fcfaf6;color:#a2937a;padding:9px 14px;font-size:12px;overflow:hidden}.meal-cell:hover{background:#f0e9dc;border-color:#c3ad86}.meal-cell.filled{background:#f1e9dd;border:1px solid #dfcfb4;color:#70573f;font-size:15px;font-family:Georgia,serif;line-height:1.4}.meal-slot:nth-child(3) .meal-cell.filled{background:#edf0e4;border-color:#d5dcc5;color:#626d4c}.meal-slot{display:flex;min-width:0;min-height:0}.meal-slot.filled{flex-direction:column;gap:3px}.meal-choice{display:flex;flex:1;min-height:0;min-width:0;gap:3px}.meal-choice.single{position:relative}.meal-choice .meal-cell{flex:1}.meal-choice.single .meal-cell{padding-right:58px}.meal-add-second{position:absolute;top:1px;right:1px;bottom:1px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;width:50px;border-left:1px solid var(--day-line);border-radius:0 9px 9px 0;background:transparent;color:var(--day-accent);font-size:10px}.meal-add-second svg{border:1px solid currentColor;border-radius:50%;padding:2px;box-sizing:content-box}.meal-add-second:hover{background:var(--paper)}.meal-just-added{animation:meal-added 2.4s ease-out;border-radius:10px}@keyframes meal-added{0%,35%{box-shadow:inset 0 0 0 3px var(--terracotta);transform:scale(.97)}65%{transform:scale(1)}to{box-shadow:inset 0 0 0 0 transparent}}.generation-progress{display:grid;justify-items:center;gap:12px;text-align:center;padding:24px 0 8px}.generation-progress>svg{color:var(--terracotta)}.analysis-progress{display:flex;align-items:center;gap:10px;color:var(--olive);padding:12px 0}.analysis-progress svg{flex-shrink:0}.meal-autocomplete{margin-bottom:14px}.meal-autocomplete>input{width:100%}.meal-completions{border:1px solid var(--line);border-radius:10px;margin-top:6px;overflow:hidden}.meal-completions button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--paper);color:var(--ink);text-align:left}.meal-completions button:hover,.meal-completions button[aria-selected=true]{background:var(--cream)}.meal-completions strong,.meal-completions small{display:block;overflow-wrap:anywhere}.meal-completions small{color:var(--muted);font-size:11px}.meal-slot.multiple{gap:0;border:1px solid #dfcfb4;border-radius:10px;background:#f1e9dd;overflow:hidden;contain:size}.meal-slot.multiple:nth-child(3){background:#edf0e4;border-color:#d5dcc5}.meal-slot.multiple .meal-choice+.meal-choice{border-top:1px solid #dfcfb4}.meal-slot.multiple:nth-child(3) .meal-choice+.meal-choice{border-top-color:#d5dcc5}.meal-slot.multiple .meal-cell.filled{border:0;border-radius:0;background:transparent;padding:0 10px;font:500 13px/1.15 Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;text-align:center}.meal-slot.multiple .meal-cell.filled:hover{background:#ffffff59}.meal-slot.multiple .meal-cell.filled>.meal-name{-webkit-line-clamp:2}.meal-slot.empty{border:1px dashed var(--day-line, #ded4c0);border-radius:10px;background:#fffdf980;overflow:hidden}.meal-slot.empty .meal-cell{flex:1;border:0;background:transparent;padding-left:4px;padding-right:4px}.meal-quick-actions{display:flex;align-items:center;padding-right:4px}.meal-quick-button{display:flex;align-items:center;justify-content:center;width:42px;min-height:42px;border-radius:8px;background:transparent;color:var(--olive)}.meal-quick-button:hover{background:#ebe4d6;color:var(--terracotta)}.meal-cell.filled>span{overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.meal-guests-marker{color:currentColor;align-self:flex-end}.is-past .day-label{opacity:.65}.scroll-footer{display:flex;flex-shrink:0;justify-content:center;align-items:center;gap:14px;color:#8d8370;min-height:42px;background:#faf7f0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.2px}.icon-button{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;color:#83745c}.icon-button:hover{background:#ebe4d6}.connection-banner{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;background:#f3e7d6;border:1px solid #e2c9a6;color:#855b38;padding:12px 15px;border-radius:12px;margin-bottom:18px}.loading-state{padding:60px 20px;text-align:center;color:var(--olive)}.loading-state svg{margin-bottom:20px}.loading-state p{margin-top:15px}.modal{padding:26px;border:1px solid #e2d7c4;border-radius:22px;background:var(--cream);color:var(--ink);width:min(520px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:88dvh;overflow-y:auto;box-shadow:0 24px 100px #30241438;overscroll-behavior:contain}.modal.wide{width:min(620px,calc(100% - 32px))}.modal::backdrop{background:#30271960;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-heading .icon-button{margin-right:-11px;flex-shrink:0}.modal-heading h2{font-size:28px;line-height:1.2;color:#74523e}.modal-subtitle{color:var(--muted);font-size:12px;margin:5px 0 22px}.field-label{display:block;font-size:12px;font-weight:600;color:#71634e;margin:18px 0 8px}.field-label small{font-size:10px;font-weight:400}input:not([type=checkbox],[type=radio]),textarea{display:block;width:100%;min-width:0;border:1px solid #dcd1bc;background:#fffdf8;color:#574a38;border-radius:10px;padding:12px 14px;font-size:var(--field-font-size, 16px);line-height:1.5}input::placeholder,textarea::placeholder{color:#a39783}textarea{resize:vertical;min-height:60px;max-height:300px}input:focus,textarea:focus{border-color:#b19266}.field-hint{color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0 0}.editor-actions{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:18px}.meal-detail-name{font-size:24px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.meal-guests{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.meal-guests-chip{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;margin-top:16px;padding:16px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;border-radius:14px}.meal-guests-chip:hover:not(:disabled){color:var(--terracotta);background:var(--paper)}.meal-guests-chip svg{flex-shrink:0}.meal-guests-heading,.meal-guests-total{display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.4}.meal-guests-heading strong{flex:1}.meal-guests-heading>svg,.meal-guests-total>svg{color:var(--olive);flex-shrink:0}.meal-guests-breakdown{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:15px}.meal-guests-breakdown b{font-size:20px}.meal-guests-source{font-size:13px;color:var(--muted);line-height:1.5}.meal-guests-total{margin:0 0 8px;font-weight:600}.meal-guests-preview{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}.meal-guests-preview ul{padding-left:20px;line-height:1.7}.meal-guests-preview summary{cursor:pointer;min-height:44px;padding:10px 0}.meal-main-actions{margin-top:18px}.meal-guests-default{display:flex;align-items:center;gap:10px;min-height:48px;margin-top:8px;font-size:13px;cursor:pointer}.meal-guests-default input{flex-shrink:0;width:18px;height:18px;accent-color:var(--olive)}.meal-guests-counts{margin-top:6px}.meal-guest-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.meal-guest-row>label{font-size:16px;font-weight:500}.meal-guest-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}.meal-guest-stepper button{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--olive)}.meal-guest-stepper button:hover:not(:disabled){background:var(--paper);border-color:var(--olive)}.meal-guest-stepper input{width:52px;min-height:48px;padding:8px 2px;text-align:center;appearance:textfield;font-size:22px;font-weight:600}.meal-guest-stepper input::-webkit-inner-spin-button,.meal-guest-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.action-grid.flush{margin-top:0}.action-grid>button{width:100%;min-width:0;min-height:48px;padding:10px 12px;gap:8px;line-height:1.25;text-align:center}.action-grid>button svg{flex-shrink:0}.action-grid>.wide{grid-column:1 / -1}.action-grid .secondary-button.danger{background:#f7ece5;border-color:#e8d2c6}.action-grid .secondary-button.danger:hover:not(:disabled){background:#f0dfd4}.meal-recipe{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;overflow-wrap:anywhere}.meal-recipe h3{font-size:22px}.meal-recipe h4{font-size:13px;margin:18px 0 8px}.meal-recipe ul{padding-left:22px;font-size:14px}.recipe-text{white-space:pre-wrap;font-size:14px;line-height:1.7;margin-top:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 20px;min-height:44px;border-radius:10px;background:#9b6248;color:#fffaf1;font-size:13px;font-weight:500}.primary-button:hover:not(:disabled){background:#824d36}.secondary-button{color:#746047;background:#eee5d5;border:1px solid #ded0b6}.secondary-button:hover{background:#e4d8c0}.danger{color:#a74d3e!important}.section-divider{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin:22px 0 12px;color:#8e8067;font:italic 16px Georgia,serif}.filter-tabs{display:flex;gap:7px;margin-bottom:14px}.filter-tabs button,.season-filters button{padding:9px 12px;min-height:40px;border-radius:8px;background:transparent;font-size:12px;color:#8a7b63;border:1px solid transparent}.filter-tabs button[aria-pressed=true],.season-filters button[aria-pressed=true]{background:#e9eddf;color:#65704c;border-color:#d3dbbf}.filter-tabs button span{opacity:.75;font-size:10px;margin-left:4px}.filter-tabs.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;border:1px solid var(--line);border-radius:11px;background:#f3eee3;margin-bottom:10px}.filter-tabs.segmented button{min-height:40px;padding:8px}.filter-tabs.segmented button[aria-pressed=true]{background:#fffdf8;box-shadow:0 1px 3px #5e4b2f1f}.search-field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fbf9f3;border-radius:10px;padding:0 13px;color:#9d8b6d}.search-field input{border:0!important;background:transparent!important;padding:12px 0!important;font-size:var(--field-font-size, 16px)!important}.suggestions{margin-top:8px;max-height:280px;overflow-y:auto}.suggestion{display:flex;align-items:center;gap:12px;padding:12px 0;width:100%;background:none;text-align:left;border-bottom:1px solid #eae3d6}.suggestion:hover{background:#f0eadc}.suggestion>span:nth-child(2){flex:1;min-width:0}.suggestion strong{font:16px Georgia,serif;display:block;overflow-wrap:anywhere}.suggestion small{display:block;font-size:10px;color:#8b826c;margin-top:5px}.suggestion-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#eaeede;color:#7d875e;flex-shrink:0}.empty-state{padding:34px 16px;text-align:center;color:#8d9474}.empty-state h3{font-size:21px;color:#79664c;margin:12px 0 8px}.empty-state p{font-size:12px;color:#948770;max-width:380px;margin:auto}.section-description{margin:12px 0 22px;font-size:13px;color:var(--muted)}.season-filters{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.season-filters button{border-color:#e4dbca}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-height:44px;width:fit-content}input[type=checkbox],input[type=radio]{accent-color:var(--olive);width:17px;height:17px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.recipe-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:20px;border-radius:14px;background:#fcfaf4;border:1px solid var(--line);min-height:200px}.recipe-card:hover{background:#f3eddf;border-color:#cbb99b}.recipe-card-top{display:flex;justify-content:space-between;align-items:center;color:#a18d6a}.recipe-leaf{display:inline-flex;background:#ecefdf;color:#7e8963;padding:10px;border-radius:50% 50% 45% 45%}.recipe-card h3{margin-top:18px;color:#725a40;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.recipe-card p{color:#8e8065;font-size:10px;margin-top:7px}.recipe-card small{display:flex;gap:5px;align-items:center;padding-top:18px;margin-top:auto;font-size:10px;color:#8c9072}.long-press{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.level-gauge{display:inline-flex;gap:1px;color:#d3c6ad}.level-gauge .on{color:var(--terracotta)}.level-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#8a6a4f}.recipe-card .level-tag{margin-top:9px;font-size:10px}.meal-level{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:12px;color:var(--muted)}.level-menu{display:grid;gap:8px}.level-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);text-align:left}.level-choice:hover:not(:disabled){background:#f0eadc;border-color:#cbb99b}.level-choice.preferred{border-color:#b7c09a;background:#eef0e5}.level-choice-text,.level-option-text{flex:1;min-width:0}.level-choice strong{display:block;font:16px Georgia,serif;color:#6f553e}.level-choice small,.level-option-text small{display:block;font-size:11px;color:var(--muted);line-height:1.45;margin-top:3px}.level-choice .level-count{color:var(--olive)}.level-badge{flex-shrink:0;font-size:10px;padding:3px 8px;border-radius:999px;background:#e3e8d3;color:#5f6a45;white-space:nowrap}.level-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.level-options label{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.level-options .selected{border-color:#b7c09a;background:#eef0e5}.level-options input{flex:none}.level-option-text strong{display:block;font-size:13px;font-weight:600;color:#6f553e}.level-filters button{display:inline-flex;align-items:center;gap:6px}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset .season-filters{margin:0}.dish-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.settings-card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fcfaf4;margin-top:22px}.settings-card h3{display:flex;align-items:center;gap:10px;font-size:22px;color:#725c43;margin-bottom:12px}.settings-card>p{font-size:12px;color:var(--muted)}.settings-card dl{margin:20px 0;font-size:12px}.settings-card dl div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e9e2d6}.settings-card dt{color:#8a7c64}.settings-card dd{margin:0;text-align:right;color:#61684e}.settings-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.model-options{display:flex;flex-wrap:wrap;gap:10px}.model-options label,.theme-options label{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;font-size:12px;cursor:pointer}.model-options .selected,.theme-options .selected{border-color:#b7c09a;background:#eef0e5;color:#656f4f}.theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.theme-options label{min-height:46px}.theme-options input,.theme-options svg{flex:none}.theme-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.theme-schedule label{display:flex;flex-direction:column;gap:6px;color:#71634e;font-size:12px}.theme-schedule input{min-height:44px;padding:8px 12px}.settings-advanced{margin-top:16px;border-top:1px solid var(--line)}.settings-advanced>summary{cursor:pointer;padding:13px 0;font-size:13px;font-weight:500;color:var(--muted)}.settings-advanced>summary:hover{color:var(--ink)}.avoid-input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);padding:8px 10px;background:var(--paper);color:var(--ink);font:inherit;font-size:var(--field-font-size, 16px);resize:vertical}.info-box{background:#f0eadc;padding:12px 14px;border-radius:10px;margin:16px 0}.feature-requests{list-style:none;margin:18px 0 0;padding:0;font-size:13px}.feature-requests li{padding:12px 0;border-top:1px solid var(--line)}.feature-requests p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.feature-request-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:11px;color:var(--muted)}.feature-status{border-radius:999px;padding:2px 9px;background:#f0eadc;color:var(--ink);white-space:nowrap}.feature-status.planned{color:var(--terracotta)}.feature-status.added{color:var(--olive);font-weight:600}.feature-status.declined{text-decoration:line-through}.feature-requests .feature-note{margin-top:6px;font-size:12px;color:var(--muted);font-style:italic}[data-theme=dark] .feature-status{background:#2b241d}.privacy-note{display:flex;gap:14px;padding:24px 12px;align-items:flex-start;color:#8d9073}.privacy-note p{font-size:11px;color:var(--muted)}.inline-error{padding:12px;border-radius:8px;background:#f5e6db;color:#944e37;font-size:12px;margin:14px 0}.pwa-warning{color:#944e37;font-size:12px;margin-top:10px}.toast{position:fixed;z-index:5;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;background:#687251;color:#fffdf6;font-size:13px;box-shadow:0 8px 30px #3338;width:max-content;max-width:calc(100% - 30px);pointer-events:none}.notice-icon{display:flex;justify-content:center;align-items:center;width:60px;height:60px;border-radius:50%;background:#e8eddd;color:#79865b;margin:24px auto 18px}.notice-icon.error{background:#f0dfce;color:#a96749}.notice-text{font-size:14px;text-align:center}.notice-button{display:flex;margin:24px auto 0;min-width:130px}.spinning{animation:spin 1.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root[data-theme=dark]{color-scheme:dark;color:#ece3d3;background:#15120f;--paper: #24201b;--cream: #1c1814;--ink: #ece3d3;--muted: #ab9f8c;--terracotta: #e3a184;--olive: #b8c095;--line: #3b332a}[data-theme=dark] a{color:#e8b089}[data-theme=dark] h1 button{color:#e6a985}[data-theme=dark] h1 button span{color:#d9a46f}[data-theme=dark] .main-nav{background:#26201a}[data-theme=dark] .main-nav button{color:#b3a690}[data-theme=dark] .main-nav button.active{background:#362d24;color:#f0bf9c;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .main-nav button:hover:not(.active){background:#2e2720}[data-theme=dark] .section-heading h2{color:#eadbc4}[data-theme=dark] .date-dash{color:#7d705e}[data-theme=dark] .season-label{color:#e5b48f;background:#2e241c;border-color:#4d3b2c}[data-theme=dark] .season-label.spring,[data-theme=dark] .season-label.summer{color:#c4cea2;background:#262b1f;border-color:#3e4632}[data-theme=dark] .season-label.winter{color:#b8c6c8;background:#222829;border-color:#3a4446}[data-theme=dark] .column-headings{background:#221d18}[data-theme=dark] .column-headings>span{color:#b0a38c}[data-theme=dark] .column-headings>span:nth-child(2) svg{color:#d9ad6b}[data-theme=dark] .column-headings>span:nth-child(3) svg{color:#aab28b}[data-theme=dark] .days-scroll{scrollbar-color:#4a3f33 transparent}[data-theme=dark] .day-row{border-bottom-color:#2f2822;--day-tint: #2c2620;--day-soft: #26211c;--day-line: #4a3f33;--day-accent: #d9c3a5}[data-theme=dark] .day-row.weekday-1{--day-tint: #3c2c22;--day-soft: #29211b;--day-line: #5e4839;--day-accent: #e5bfa3}[data-theme=dark] .day-row.weekday-2{--day-tint: #3e2d21;--day-soft: #2a211a;--day-line: #604937;--day-accent: #e7c19f}[data-theme=dark] .day-row.weekday-3{--day-tint: #3f2f1f;--day-soft: #2a221a;--day-line: #624b35;--day-accent: #e9c39b}[data-theme=dark] .day-row.weekday-4{--day-tint: #40301e;--day-soft: #2a2319;--day-line: #634c33;--day-accent: #eac598}[data-theme=dark] .day-row.weekday-5{--day-tint: #41311d;--day-soft: #2b2319;--day-line: #644e31;--day-accent: #ebc894}[data-theme=dark] .day-row.weekday-6{--day-tint: #42331b;--day-soft: #2b2418;--day-line: #65502f;--day-accent: #ebca91}[data-theme=dark] .day-row.weekday-7{--day-tint: #42341a;--day-soft: #2b2418;--day-line: #66522d;--day-accent: #ebcd8e;border-bottom-color:#4a3e30}[data-theme=dark] .day-number small{color:#a39580}[data-theme=dark] .today-label{color:#1c1814}[data-theme=dark] .meal-cell{border-color:#4a3f33;background:#201b17;color:#998b76}[data-theme=dark] .meal-cell.filled{background:#33291f;border-color:#4d3d2d;color:#f1dcc0}[data-theme=dark] .meal-slot:nth-child(3) .meal-cell.filled{background:#282c21;border-color:#3f4632;color:#d5deba}[data-theme=dark] .meal-slot.empty{background:#ffffff06}[data-theme=dark] .meal-slot.multiple{background:#33291f;border-color:#4d3d2d}[data-theme=dark] .meal-slot.multiple:nth-child(3){background:#282c21;border-color:#3f4632}[data-theme=dark] .meal-slot.multiple .meal-choice+.meal-choice{border-top-color:#4d3d2d}[data-theme=dark] .meal-slot.multiple:nth-child(3) .meal-choice+.meal-choice{border-top-color:#3f4632}[data-theme=dark] .meal-slot.multiple .meal-cell.filled{background:transparent}[data-theme=dark] .meal-slot.multiple .meal-cell.filled:hover{background:#ffffff0d}[data-theme=dark] .meal-quick-button:hover{background:#3a3128}[data-theme=dark] .scroll-footer{color:#a29680;background:#201b16}[data-theme=dark] .icon-button{color:#b8aa92}[data-theme=dark] .icon-button:hover{background:#352d25}[data-theme=dark] .connection-banner{background:#3a2c1f;border-color:#5c4530;color:#f0c9a0}[data-theme=dark] .modal{border-color:#3d342b;background:#211c17;box-shadow:0 24px 100px #000000a6}[data-theme=dark] .modal::backdrop{background:#0a0806a6}[data-theme=dark] .modal-heading h2{color:#ecc7a6}[data-theme=dark] .field-label{color:#cbbba1}[data-theme=dark] input:not([type=checkbox],[type=radio]),[data-theme=dark] textarea{border-color:#4a3f34;background:#171310;color:#efe5d3}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#85786a}[data-theme=dark] input:focus,[data-theme=dark] textarea:focus{border-color:#c9a46a}[data-theme=dark] .primary-button:hover:not(:disabled){background:#a86a4e}[data-theme=dark] .secondary-button{color:#e8d6bb;background:#2f2720;border-color:#4a3d30}[data-theme=dark] .secondary-button:hover{background:#3a3027}[data-theme=dark] .danger{color:#ec9580!important}[data-theme=dark] .action-grid .secondary-button.danger{background:#36231d;border-color:#57372d}[data-theme=dark] .action-grid .secondary-button.danger:hover:not(:disabled){background:#432b23}[data-theme=dark] .section-divider{color:#ab9c84}[data-theme=dark] .filter-tabs button,[data-theme=dark] .season-filters button{color:#b3a58e}[data-theme=dark] .season-filters button{border-color:#3d342a}[data-theme=dark] .filter-tabs button[aria-pressed=true],[data-theme=dark] .season-filters button[aria-pressed=true]{background:#2c3124;color:#c9d3a8;border-color:#475037}[data-theme=dark] .filter-tabs.segmented{background:#1f1a15}[data-theme=dark] .filter-tabs.segmented button[aria-pressed=true]{box-shadow:0 1px 3px #00000059}[data-theme=dark] .search-field{background:#1a1612;color:#a89677}[data-theme=dark] .suggestion{border-bottom-color:#342c24}[data-theme=dark] .suggestion:hover{background:#2b241e}[data-theme=dark] .suggestion small{color:#a59a85}[data-theme=dark] .suggestion-icon,[data-theme=dark] .recipe-leaf,[data-theme=dark] .notice-icon{background:#2c3124;color:#b7c194}[data-theme=dark] .notice-icon.error{background:#3d2a1f;color:#eba584}[data-theme=dark] .empty-state{color:#a9b08f}[data-theme=dark] .empty-state h3{color:#e0cdb0}[data-theme=dark] .empty-state p{color:#a99c86}[data-theme=dark] .recipe-card,[data-theme=dark] .settings-card{background:var(--paper)}[data-theme=dark] .recipe-card:hover{background:#2c251f;border-color:#5a4b3a}[data-theme=dark] .recipe-card-top{color:#bda67f}[data-theme=dark] .recipe-card h3,[data-theme=dark] .settings-card h3{color:#ecd8bb}[data-theme=dark] .recipe-card p{color:#a99a80}[data-theme=dark] .recipe-card small{color:#a9b08f}[data-theme=dark] .settings-card dl div{border-bottom-color:#352d25}[data-theme=dark] .settings-card dt{color:#ab9c84}[data-theme=dark] .settings-card dd{color:#c3cc9f}[data-theme=dark] .model-options .selected,[data-theme=dark] .theme-options .selected{border-color:#5f6a45;background:#2a2f22;color:#cdd6ad}[data-theme=dark] .level-gauge{color:#54483b}[data-theme=dark] .level-tag{color:#e0b48f}[data-theme=dark] .level-choice:hover:not(:disabled){background:#2c251f;border-color:#5a4b3a}[data-theme=dark] .level-choice.preferred,[data-theme=dark] .level-options .selected{border-color:#5f6a45;background:#2a2f22}[data-theme=dark] .level-choice strong,[data-theme=dark] .level-option-text strong{color:#ecd8bb}[data-theme=dark] .level-badge{background:#343b28;color:#cdd6ad}[data-theme=dark] .theme-schedule label{color:#cbbba1}[data-theme=dark] .info-box{background:#2b241d}[data-theme=dark] .privacy-note{color:#a3a88a}[data-theme=dark] .inline-error{background:#3b2620;color:#f1a58a}[data-theme=dark] .pwa-warning{color:#f1a58a}[data-theme=dark] .toast{background:#5d6845;color:#fbf6e8;box-shadow:0 8px 30px #000000a6}@media(max-width:800px){.column-headings,.day-row{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:11px}.branch-left{left:-14px;width:120px}.branch-right{right:-20px;width:115px}.recipe-grid,.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.app-shell{padding-left:12px;padding-right:12px}.masthead{gap:2px 8px}h1 button{font-size:26px}.install-shortcut{margin-left:auto}.main-nav{order:1;width:100%;margin:0;gap:3px;border-radius:12px}.main-nav button{padding:5px 6px;font-size:11px;flex:1;min-width:0;min-height:44px;gap:4px}.main-nav .shopping-nav span{max-width:70px;line-height:1.2}.section-heading{gap:8px}.section-heading h2{font-size:20px;margin-top:5px;line-height:1.3}.section-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.season-label{font-size:10px;padding:7px 8px;gap:4px}.season-label svg{width:12px}.planner-heading-actions{gap:10px}.planner-heading-actions .text-button{font-size:11px;gap:5px;white-space:nowrap}.column-headings,.day-row{grid-template-columns:65px minmax(0,1fr) minmax(0,1fr);gap:8px;padding-left:9px;padding-right:9px}.column-headings{min-height:36px}.day-row{padding-top:5px;padding-bottom:5px}.column-headings>span{font-size:12px;gap:6px}.column-headings>span:first-child{font-size:7px;letter-spacing:.4px;text-align:center}.days-scroll{scrollbar-width:none}.day-label{padding-left:3px}.weekday{font-size:10px}.day-number{font-size:20px;margin-top:2px}.day-number small{font-size:8px;margin-left:4px}.today-label{font-size:7px;margin-top:2px;padding:1px 4px}.meal-cell{padding:7px;gap:3px;font-size:10px;border-radius:8px}.meal-cell svg{width:12px}.meal-cell.filled{font-size:13px;line-height:1.25}.meal-slot.multiple{margin-block:-3px}.meal-slot.multiple .meal-cell.filled{padding:0 5px;font-size:11.5px;line-height:1.12}.meal-choice.single .meal-cell{padding-right:7px}.meal-add-second{display:none}.meal-quick-actions{flex-direction:column;justify-content:center;padding-right:1px}.meal-quick-actions{align-self:stretch}.meal-quick-button{width:32px;min-height:24px;flex:1}.meal-slot.empty .meal-cell{gap:2px;padding:3px;flex-wrap:wrap;align-content:center}.meal-slot.empty .meal-cell>svg:not(.spinning){display:none}.scroll-footer{gap:5px;font-size:9px}.modal,.modal.wide{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0;padding:22px 20px max(24px,env(safe-area-inset-bottom))}.modal-heading h2{font-size:25px}.suggestions{max-height:260px}.recipe-grid{gap:10px}.recipe-card{padding:14px;min-height:195px}.recipe-card h3{font-size:19px}.recipe-card p{font-size:9px}.season-filters{gap:5px}.season-filters button{font-size:11px;padding:8px 10px}.settings-card{padding:18px}.settings-card h3{font-size:20px}.settings-card dl{font-size:11px}.level-options{grid-template-columns:1fr}.settings-actions{gap:6px 15px}.connection-banner{font-size:11px;padding:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #747775;border-radius:22px;background:#fff;color:#1f1f1f;font:500 14px Roboto,Segoe UI,Arial,sans-serif;white-space:nowrap}.google-button:hover:not(:disabled){background:#f2f2f2}.google-button.compact{min-height:40px;padding:0 12px;font-size:13px;gap:8px}.account-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:6px 6px 6px 14px;border:1px solid #e2c9a6;border-radius:14px;background:#f3e7d6;color:#855b38}.account-banner p{font-size:12px;line-height:1.4;min-width:0}.account-banner strong{font-weight:600}.account-banner .banner-short{display:none}.account-banner.warning{background:#f5e6db;border-color:#e5c4b0;color:#944e37}.account-banner .secondary-button{min-height:40px;padding:0 16px}.account-card .google-button{margin-top:16px}.account-identity{display:flex;align-items:center;gap:12px;margin:4px 0 6px;min-width:0}.account-identity strong,.member-name strong{display:block;font-size:14px;color:#5f4b38;overflow-wrap:anywhere}.account-identity small,.member-name small{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#9b6248;color:#fffaf1;font-size:15px;font-weight:600}.avatar.small{width:32px;height:32px;font-size:12px}.account-card h4{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#71634e;margin:20px 0 6px}.inline-field{display:flex;gap:8px;align-items:stretch}.inline-field input{flex:1}.inline-field .secondary-button{padding:0 14px;flex-shrink:0}.member-list{list-style:none;margin:0;padding:0}.member-list li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #e9e2d6}.member-name{flex:1;min-width:0}.member-list .text-button{flex-shrink:0}.invitation-link{margin-top:12px}.invitation-link p{font-size:12px;color:#61684e;margin-bottom:6px}.invitation-link input{font-size:13px}.legal-links{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:14px;font-size:11px;color:var(--muted)}.legal-links a{color:var(--olive)}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;margin-top:22px}.modal .confirm-actions .google-button{margin:0 auto;white-space:normal;text-align:center}.primary-button.danger-fill{background:#a74d3e}.primary-button.danger-fill:hover:not(:disabled){background:#8c3e31}.connection-indicator.local,.connection-indicator.expired,.connection-indicator.revoked{color:#a56c4b}[data-theme=dark] .google-button{background:#131314;border-color:#8e918f;color:#e3e3e3}[data-theme=dark] .google-button:hover:not(:disabled){background:#1f1f20}[data-theme=dark] .account-banner{background:#3a2c1f;border-color:#5c4530;color:#f0c9a0}[data-theme=dark] .account-banner.warning{background:#3b2620;border-color:#5e3a2e;color:#f1a58a}[data-theme=dark] .account-identity strong,[data-theme=dark] .member-name strong{color:#ecd8bb}[data-theme=dark] .account-identity small,[data-theme=dark] .member-name small{color:#a99c86}[data-theme=dark] .avatar{background:#a86a4e;color:#1c1814}[data-theme=dark] .account-card h4{color:#cbbba1}[data-theme=dark] .member-list li{border-bottom-color:#352d25}[data-theme=dark] .invitation-link p{color:#c3cc9f}[data-theme=dark] .legal-links a{color:#b7c194}[data-theme=dark] .primary-button.danger-fill{background:#b25a48;color:#fffaf1}[data-theme=dark] .connection-indicator.local,[data-theme=dark] .connection-indicator.expired,[data-theme=dark] .connection-indicator.revoked{color:#e0a07c}@media(max-width:520px){.account-banner{padding-left:10px;gap:8px}.account-banner p{font-size:11px}.account-banner .banner-long{display:none}.account-banner .banner-short{display:inline}.account-banner .google-button.compact{padding:0 10px;font-size:12px}.inline-field{flex-wrap:wrap}.inline-field .secondary-button{min-height:44px}}@media(max-width:360px){.account-banner .google-button.compact span{font-size:11px}}@media(max-width:380px){.main-nav button{flex-direction:column;gap:2px;padding:5px 2px;font-size:10px;line-height:1.2;text-align:center}}
