*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.block{display:block}.filter{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)}.recipe-editor{max-width:760px;padding-top:18px}.recipe-editor form{gap:22px;margin-top:0}.editor-header{align-items:center;display:grid;grid-template-columns:48px 1fr 48px;min-height:58px;text-align:center}.editor-header a{color:inherit;display:inline-flex}.editor-header h2{font-size:1.65rem;margin:0}.editor-header button{background:transparent;border:0;color:#e9671d;font:inherit;font-size:1.15rem;font-weight:800;padding:0}.editor-card{background:#fffdfb;border:1px solid #eadbd1;border-radius:24px;padding:18px}.recipe-editor .basics-card{display:grid;gap:15px}.recipe-editor .image-card{padding:0;overflow:hidden}.recipe-editor .image-upload{border:0;border-radius:0;padding:18px}.recipe-editor .image-upload input{display:none}.image-status{border-radius:0;border-top:1px solid #eadbd1;gap:13px;padding:14px 18px}.image-status img{border-radius:10px;height:74px;-o-object-fit:cover;object-fit:cover;width:74px}.image-status div{display:grid;flex:1;gap:4px;min-width:0}.image-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-status small{color:#89776b}.image-status button{align-items:center;display:flex;font-weight:700;gap:3px}.recipe-editor label:has(input[max="5"]){display:none}.vote-row{align-items:center;border-top:1px solid #f0e1d6;display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;padding-top:17px}.vote-row>span{color:#786b62;flex-basis:100%;font-size:.88rem}.vote-row button{align-items:center;background:#fff5ef;border:1px solid #f0cdbb;border-radius:999px;color:#d65e18;display:inline-flex;font:inherit;font-weight:700;gap:6px;padding:9px 13px}.vote-row button:last-child{color:#9b5c49}.random-page{padding-top:30px}.random-page h2{font-size:clamp(2.1rem,9vw,3.3rem)}.random-filters{display:grid;gap:10px;margin-top:25px}.random-filters>div,.random-filters select,.random-filters>input{background:#fff;border:1px solid #eadbd1;border-radius:13px;color:#5e5149;font:inherit;min-height:46px;padding:0 12px;width:100%}.random-filters>div{align-items:center;display:flex;gap:8px}.random-filters>div select{border:0;min-height:42px;padding:0}.random-filters label{color:#786b62;font-size:.9rem}.random-result{background:#fff;border:1px solid #eadbd1;border-radius:24px;color:#34271f;margin-top:26px;overflow:hidden;padding-bottom:20px;text-align:center}.random-result>div:first-child{align-items:center;background:linear-gradient(135deg,#ffe6cf,#f9bd83);display:flex;font-size:5rem;height:210px;justify-content:center}.random-result img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.random-result h3{color:#34271f;font-size:1.55rem;margin:5px 0 7px}.random-result>p{color:#786b62;margin:5px 0}.random-result>a{background:#e9671d;border-radius:13px;color:#fff;display:inline-block;font-weight:800;margin-top:15px;padding:10px 16px}.random-result-actions{display:flex;gap:10px;justify-content:center;margin-top:15px;padding:0 16px}.random-result-actions a,.random-result-actions button{align-items:center;background:#f8eee7;border:0;border-radius:13px;color:#d65e18;display:inline-flex;flex:1;font:inherit;font-weight:800;gap:5px;justify-content:center;min-height:44px;padding:10px}.random-result-actions a{background:#e9671d;color:#fff}.random-order-sheet{background:#fffaf5;border-radius:22px;display:grid;gap:14px;margin:0 auto;max-width:420px;padding:20px;width:100%}.random-order-sheet h3,.random-order-sheet p{margin:0}.random-order-sheet p{color:#786b62}.existing-order-list{display:grid;gap:9px}.existing-order-list button{align-items:center;background:#fff;border:1px solid #eadbd1;border-radius:12px;color:#34271f;display:flex;font:inherit;font-weight:800;justify-content:space-between;min-height:50px;padding:10px 13px;text-align:left}.existing-order-list small{color:#786b62}.random-order-sheet .save-button,.random-order-sheet .sheet-cancel{border:0;border-radius:12px;font:inherit;font-weight:800;min-height:44px}.random-order-sheet .sheet-cancel{background:#f8eee7;color:#6b5143}.recipe-editor .form-list{border-top:0;padding-top:18px}.recipe-editor .form-list>div:first-child{margin-bottom:16px}.recipe-editor .form-list h3{font-size:1.35rem}.recipe-editor .form-list>div:first-child button{background:#fff5ef;border:1px solid #f0cdbb;border-radius:13px;font-size:1rem;padding:10px 13px}.recipe-editor .ingredient-row{gap:4px;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,.9fr) 38px}.recipe-editor .ingredient-row input{background:transparent;border-color:#c7a995;font-size:1.05rem;min-height:50px}.recipe-editor .ingredient-row button,.recipe-editor .step-edit-row button{border:1px solid #bd492d;border-radius:50%;color:#e9671d;height:30px;justify-content:center;justify-self:center;width:30px}.recipe-editor .step-edit-row{align-items:stretch;gap:14px;grid-template-columns:48px 1fr 34px;position:relative}.recipe-editor .step-edit-row:not(:last-child):before{background:#c7a995;content:"";height:calc(100% + 14px);left:23px;position:absolute;top:30px;width:2px}.recipe-editor .step-edit-row>span{flex-basis:48px;height:48px;position:relative;width:48px;z-index:1}.recipe-editor .step-edit-row textarea{background:transparent;border-color:#c7a995;font-size:1rem;line-height:1.5;min-height:80px}.recipe-editor .save-button{display:none}@media(prefers-color-scheme:dark){.form-page label,.form-page legend,.form-list h3{color:#f3e6dc}.form-page input,.form-page textarea,.form-page select{background:#30251f!important;border-color:#705546!important;color:#fff5ed!important}.form-page input::-moz-placeholder,.form-page textarea::-moz-placeholder{color:#cdb9ac!important;opacity:1}.form-page input::placeholder,.form-page textarea::placeholder{color:#cdb9ac!important;opacity:1}.form-page select option{background:#30251f;color:#fff5ed}.image-upload,.form-list{border-color:#705546}.image-status{background:#47342a;color:#fff5ed}.choice-chips button{background:#47342a;color:#f3e6dc}.recipe-editor{color:#fff5ed}.recipe-editor .editor-card{background:#2a201b;border-color:#594236}.recipe-editor .image-status{background:#33251e;border-color:#594236;color:#fff5ed}.recipe-editor .image-status small{color:#cdb9ac}.recipe-editor .form-list>div:first-child button{background:#fff5ef;color:#d65e18}.recipe-editor .ingredient-row input,.recipe-editor .step-edit-row textarea{background:#33251e!important;border-color:#705546!important;color:#fff5ed!important}}.page-heading{align-items:center;display:flex;justify-content:space-between}.page-heading h2{margin-bottom:0}.add-dish-button,.empty-add-link{align-items:center;background:#e9671d;border-radius:14px;color:#fff;display:inline-flex;font-size:.88rem;font-weight:800;gap:5px;padding:10px 12px}.empty-add-link{margin-top:18px}.recipe-head-actions{align-items:center;display:flex;gap:8px}.favorite-link{align-items:center;color:#d65e18;display:inline-flex;font-size:.82rem;font-weight:700;gap:4px;min-height:44px}.detail-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.detail-actions .back-link{margin:0 auto 0 0}.detail-actions>a:not(.back-link),.detail-actions button{align-items:center;background:#f8eee7;border:0;border-radius:10px;color:#786b62;display:inline-flex;font:inherit;font-size:.8rem;gap:4px;padding:8px}.detail-actions button:last-child{color:#bd492d}.detail-actions button.favorited{background:#fff0e7;color:#d65e18}.form-page{padding-top:24px}.form-page h2{font-size:2rem}.form-page form{display:grid;gap:18px;margin-top:24px}.form-page label{color:#5e5149;display:grid;font-size:.88rem;font-weight:700;gap:7px}.form-page input,.form-page textarea,.form-page select{background:#fff;border:1px solid #eadbd1;border-radius:12px;color:#34271f;font:inherit;font-weight:400;outline-color:#e9671d;padding:11px 12px;width:100%}.form-page input::-moz-placeholder,.form-page textarea::-moz-placeholder{color:#8b776b;opacity:1}.form-page input::placeholder,.form-page textarea::placeholder{color:#8b776b;opacity:1}.form-page textarea{resize:vertical}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-page fieldset{border:0;margin:0;padding:0}.form-page legend{font-size:.88rem;font-weight:700;margin-bottom:8px}.choice-chips{display:flex;flex-wrap:wrap;gap:8px}.choice-chips button{background:#f8eee7;border:0;border-radius:999px;color:#786b62;font:inherit;padding:7px 11px}.choice-chips button.selected{background:#e9671d;color:#fff;font-weight:700}.image-upload{border:1px dashed #d9b9a5;border-radius:14px;color:#5e5149;cursor:pointer;padding:15px}.image-upload span{align-items:center;display:flex;gap:8px}.image-upload input{border:0;margin-top:8px;padding:0}.image-status{align-items:center;background:#f8eee7;border-radius:12px;color:#34271f;display:flex;font-size:.85rem;justify-content:space-between;padding:10px 12px}.image-status button,.ingredient-row button,.step-edit-row button{align-items:center;background:transparent;border:0;color:#bd492d;display:inline-flex;padding:5px}.form-list{border-top:1px solid #eadbd1;padding-top:18px}.form-list>div:first-child{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.form-list h3{font-size:1.05rem;margin:0}.form-list>div:first-child button{align-items:center;background:#f8eee7;border:0;border-radius:9px;color:#d65e18;display:inline-flex;font:inherit;font-size:.8rem;font-weight:700;gap:3px;padding:7px 9px}.ingredient-row{align-items:center;display:grid;gap:7px;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.7fr) auto;margin-top:8px}.ingredient-row input,.step-edit-row textarea{padding:9px}.step-edit-row{align-items:center;display:grid;gap:9px;grid-template-columns:26px 1fr auto;margin-top:10px}.step-edit-row>span{align-items:center;background:#e9671d;border-radius:50%;color:#fff;display:flex;font-size:.72rem;font-weight:800;height:24px;justify-content:center;width:24px}.form-error{color:#bd492d;font-size:.9rem;margin:0}.save-button{align-items:center;background:#e9671d;border:0;border-radius:16px;color:#fff;display:flex;font:inherit;font-weight:800;gap:8px;justify-content:center;min-height:52px}.save-button:disabled{opacity:.65}:root{color:#34271f;background:#fffaf5;font-family:ui-rounded,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;min-height:100dvh;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.topbar,.page{max-width:720px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.topbar{padding-top:max(24px,env(safe-area-inset-top))}.topbar h1{font-size:1.4rem;margin:2px 0 0}.eyebrow{color:#d65e18;font-size:.72rem;font-weight:800;letter-spacing:.12em;margin:0}.page{padding-top:46px}h2{font-size:clamp(2.1rem,9vw,3.6rem);line-height:1.1;margin:8px 0 12px}.lead{color:#786b62;font-size:1.05rem;line-height:1.6;margin:0}.topbar-row{align-items:center;display:flex;justify-content:space-between}.logout-button{align-items:center;background:#f8eee7;border:0;border-radius:999px;color:#8a5a43;display:inline-flex;font:inherit;font-size:.78rem;font-weight:700;gap:5px;min-height:42px;padding:0 13px}.auth-loading,.login-page{align-items:center;background:radial-gradient(circle at 50% 20%,#4a3024 0,#241c18 44%,#1c1613);color:#fff5ed;display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.auth-loading{color:#d8c5b8;font-weight:700}.login-card{background:#30251ff2;border:1px solid #654838;border-radius:30px;box-shadow:0 24px 70px #00000052;max-width:420px;padding:34px 26px 28px;width:100%}.login-mark{align-items:center;background:#e9671d;border-radius:18px;box-shadow:0 12px 28px #e9671d3d;display:flex;height:58px;justify-content:center;margin:28px 0 22px;width:58px}.login-card h1{font-size:clamp(2.15rem,10vw,3rem);margin:0}.login-welcome{color:#d8c5b8;line-height:1.6;margin:10px 0 28px}.login-card form{display:grid;gap:10px}.login-card label{color:#ead8cd;font-size:.88rem;font-weight:800}.login-card input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#241c18;border:1px solid #765644;border-radius:15px;color:#fffaf5;font:inherit;font-size:1.05rem;min-height:54px;outline:none;padding:12px 14px;width:100%}.login-card input:focus{border-color:#f28a4e;box-shadow:0 0 0 3px #e9671d33}.login-card button{align-items:center;background:#e9671d;border:0;border-radius:16px;color:#fff;display:flex;font:inherit;font-weight:800;gap:8px;justify-content:center;margin-top:8px;min-height:54px}.login-card button:disabled{cursor:wait;opacity:.6}.login-error{color:#ffb39a;font-size:.88rem;line-height:1.4;margin:2px 0 0}.login-spinner{animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.choose-button{align-items:center;background:#e9671d;border-radius:22px;box-shadow:0 14px 30px #e9671d40;color:#fff;display:flex;font-size:1.1rem;font-weight:800;gap:10px;justify-content:center;margin-top:32px;min-height:64px;padding:16px 20px}.home-page{padding-top:34px}.seasonal-section{margin-top:32px}.seasonal-heading{align-items:end;display:flex;justify-content:space-between}.seasonal-heading h3{font-size:1.35rem;margin:4px 0 0}.seasonal-heading>span{background:#e8f4e8;border-radius:999px;color:#398044;font-size:.76rem;font-weight:800;padding:6px 9px}.seasonal-grid{margin-top:15px}.seasonal-reasons{display:grid;gap:5px;margin-top:14px}.seasonal-reasons p{color:#786b62;font-size:.8rem;margin:0}.seasonal-reasons strong{color:#5e5149}.empty-state{background:#fff;border:1px solid #f3e5db;border-radius:28px;box-shadow:0 8px 25px #3d24120a;margin-top:36px;padding:32px 24px;text-align:center}.empty-state span{font-size:3rem}.empty-state h3{margin:12px 0 8px}.empty-state p{color:#786b62;line-height:1.55;margin:0}.bottom-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffcf9ef;border-top:1px solid #f1e5dc;bottom:0;display:flex;height:calc(70px + env(safe-area-inset-bottom));justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0}.nav-item{align-items:center;color:#8d827a;display:flex;flex:1;flex-direction:column;font-size:.72rem;gap:3px;justify-content:center}.nav-item.active{color:#d65e18;font-weight:800}.install-prompt{align-items:center;background:#34271f;border:1px solid #594236;border-radius:16px;bottom:calc(82px + env(safe-area-inset-bottom));box-shadow:0 12px 30px #241c1859;color:#fffaf5;display:flex;gap:10px;left:max(16px,env(safe-area-inset-left));padding:11px 12px;position:fixed;right:max(16px,env(safe-area-inset-right));z-index:9}.install-prompt>div{align-items:center;display:flex;flex:1;gap:10px;min-width:0}.install-prompt>div>svg{color:#ff9a4d;flex:0 0 auto}.install-prompt p{display:grid;gap:2px;margin:0}.install-prompt strong{font-size:.86rem}.install-prompt span{color:#ead8cd;font-size:.72rem;line-height:1.35}.install-prompt button{border:0;font:inherit}.install-action{background:#f97316;border-radius:9px!important;color:#fff;font-size:.8rem!important;font-weight:800;min-height:36px;padding:0 11px}.install-close{background:transparent;color:#ead8cd;display:grid;min-height:36px;min-width:30px;padding:0;place-items:center}.pantry-page h2,.order-page h2,.order-detail h2{font-size:2.25rem}.pantry-search{background:#fff;border:1px solid #eadbd1;border-radius:13px;color:#34271f;font:inherit;margin:20px 0 12px;min-height:46px;padding:10px 12px;width:100%}.pantry-list{display:grid;gap:10px;margin-top:18px}.pantry-item,.order-dishes article,.order-items,.analysis,.addition-history,.open-orders{background:#fff;border:1px solid #f0e1d6;border-radius:16px;padding:14px}.pantry-item{align-items:center;display:flex;justify-content:space-between}.pantry-item strong,.pantry-item span,.pantry-item small{display:block}.pantry-item span,.pantry-item small{color:#786b62;font-size:.84rem;margin-top:3px}.pantry-item button{background:transparent;border:0;color:#d65e18;min-height:44px;min-width:44px}.sheet-backdrop{align-items:end;background:#241c1888;display:flex;top:0;right:0;bottom:0;left:0;overflow:hidden;padding:12px 12px calc(12px + env(safe-area-inset-bottom));position:fixed;z-index:5}.pantry-form{background:#fffaf5;border-radius:22px;display:grid;gap:10px;margin:0 auto;max-width:560px;min-width:0;overflow:hidden;padding:16px;width:100%}.pantry-form h3{margin:0}.pantry-form label{color:#5e5149;display:grid;font-weight:700;gap:5px;min-width:0}.pantry-form input,.pantry-form textarea,.pantry-form select{background:#fff;border:1px solid #d9c8bd;border-radius:10px;box-sizing:border-box;color:#34271f;font:inherit;min-height:44px;min-width:0;padding:9px;width:100%}.pantry-form textarea{min-height:48px;resize:none}.pantry-form>div:not(.sheet-actions){display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0}.sheet-actions,.order-actions{display:flex;gap:10px;justify-content:flex-end}.sheet-actions{margin-top:2px;min-width:0;width:100%}.sheet-actions button{flex:1 1 0;min-width:0}.sheet-actions button,.order-actions>button,.order-actions>a,.analysis button{align-items:center;background:#f8eee7;border:0;border-radius:12px;color:#6b5143;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:44px;padding:10px 14px}.sheet-actions .save-button,.order-actions .save-button{background:#e9671d;color:#fff}.order-page h3{margin:28px 0 12px}.table-grid{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.table-grid button{background:#fff;border:1px solid #eadbd1;border-radius:12px;color:#34271f;font:inherit;font-weight:700;min-height:44px}.table-grid button.selected{background:#e9671d;border-color:#e9671d;color:#fff}.selected-table{color:#d65e18;font-weight:800}.order-dishes{display:grid;gap:8px}.order-dishes article{align-items:center;display:flex;justify-content:space-between}.order-dishes strong,.order-dishes small{display:block}.order-dishes small{color:#786b62;margin-top:3px}.quantity-picker{align-items:center;display:flex;gap:8px}.quantity-picker button{align-items:center;background:#fff5ef;border:1px solid #f0cdbb;border-radius:50%;color:#d65e18;display:flex;height:44px;justify-content:center;width:44px}.quantity-picker b{min-width:18px;text-align:center}.analysis{margin-top:18px}.analysis h3,.addition-history h3,.order-items h3{margin:0 0 9px}.analysis p{margin:7px 0}.available{color:#398044}.missing{color:#bd492d}.order-actions{bottom:calc(70px + env(safe-area-inset-bottom));margin-top:18px;position:sticky;z-index:2}.order-actions .save-button{flex:1}.open-orders{display:grid;gap:8px;margin-top:32px}.open-orders h3{margin:0}.open-orders a{color:#d65e18;font-weight:700}.order-status{border-radius:999px;display:inline-block;font-size:.86rem;font-weight:800;margin:0;padding:6px 10px}.order-status.open{background:#fff1d9;color:#b76b00}.order-status.completed{background:#e3f3e5;color:#398044}.order-status.cancelled{background:#fae3df;color:#bd492d}.order-items,.addition-history{margin-top:18px}.order-items>div{border-top:1px solid #f0e1d6;display:flex;justify-content:space-between;padding:10px 0}.addition-history>div{border-top:1px solid #f0e1d6;padding:10px 0}.addition-history p{margin:4px 0 0}.addition-history small{color:#786b62}.preview-feedback{scroll-margin-top:24px}.order-tray{position:fixed;right:22px;top:calc(92px + env(safe-area-inset-top));z-index:4}.order-tray-trigger{align-items:center;background:#fffaf5;border:1px solid #eadbd1;border-radius:50%;box-shadow:0 7px 20px #3d24122b;color:#d65e18;display:flex;height:52px;justify-content:center;padding:0;width:52px}.order-tray-badge{align-items:center;background:#e9671d;border:2px solid #fffaf5;border-radius:999px;color:#fff;display:flex;font-size:.72rem;height:22px;justify-content:center;min-width:22px;padding:0 5px;position:absolute;right:-8px;top:-8px}.order-tray-panel{background:#fffaf5;border:1px solid #eadbd1;border-radius:16px;box-shadow:0 12px 30px #3d241233;display:grid;gap:8px;margin-top:8px;max-height:50vh;min-width:210px;overflow-y:auto;padding:12px}.order-tray-panel>div{align-items:center;display:flex;justify-content:space-between}.order-tray-panel button{background:transparent;border:0;color:#786b62;min-height:36px;min-width:36px}.order-tray-panel a{border-top:1px solid #f0e1d6;color:#34271f;display:grid;font-weight:700;gap:3px;padding-top:9px}.order-tray-panel small,.order-tray-panel p{color:#786b62;font-size:.82rem;margin:0}@media(min-width:768px){.bottom-nav{border:1px solid #f1e5dc;border-radius:20px;bottom:28px;left:50%;max-width:480px;right:auto;transform:translate(-50%)}.app-shell{padding-bottom:110px}}@media(prefers-color-scheme:dark){:root,body{background:#241c18;color:#fff5ed}.empty-state{background:#30251f;border-color:#4a382d}.lead,.empty-state p{color:#d1c2b8}.bottom-nav{background:#2b211bef;border-color:#4a382d}.logout-button{background:#3a2c25;color:#d8c5b8}.seasonal-heading>span{background:#28402d;color:#b8dfbd}.seasonal-reasons p{color:#d1c2b8}.seasonal-reasons strong{color:#fff5ed}.pantry-search,.pantry-item,.order-dishes article,.order-items,.analysis,.addition-history,.open-orders,.pantry-form,.table-grid button{background:#30251f;border-color:#594236;color:#fff5ed}.pantry-form input,.pantry-form textarea,.pantry-form select{background:#241c18;border-color:#705546;color:#fff5ed}.pantry-form select option{background:#241c18;color:#fff5ed}.sheet-actions{background:#30251f}.pantry-item span,.pantry-item small,.order-dishes small,.addition-history small{color:#d1c2b8}.table-grid button.selected{background:#e9671d;color:#fff}.order-items>div,.addition-history>div{border-color:#594236}.order-tray-trigger,.order-tray-panel{background:#30251f;border-color:#594236}.order-tray-badge{border-color:#30251f}.order-tray-panel a{border-color:#594236;color:#fff5ed}.order-tray-panel small,.order-tray-panel p{color:#d1c2b8}}.recipes-page{padding-top:30px}.recipes-page h2{font-size:clamp(2rem,8vw,3rem)}.search-field{align-items:center;background:#fff;border:1px solid #f0e1d6;border-radius:16px;color:#aa9687;display:flex;gap:10px;margin:24px 0 14px;padding:0 14px}.search-field input{background:transparent;border:0;color:inherit;font:inherit;min-height:48px;outline:none;width:100%}.recipe-controls{display:grid;gap:14px}.recipe-controls label{align-items:center;color:#786b62;display:flex;gap:6px}.recipe-controls select{background:transparent;border:0;color:inherit;font:inherit;outline:none;padding:4px 0}.category-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.category-chips button{background:#f8eee7;border:0;border-radius:999px;color:#786b62;flex:0 0 auto;font:inherit;padding:8px 13px}.category-chips button.selected{background:#e9671d;color:#fff;font-weight:700}.dish-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.dish-card{background:#fff;border:1px solid #f3e5db;border-radius:20px;box-shadow:0 8px 25px #3d24120a;min-width:0;overflow:hidden}.dish-image{align-items:center;background:linear-gradient(135deg,#ffe6cf,#f9bd83);color:#a94915;display:flex;font-size:2.2rem;height:128px;justify-content:center;overflow:hidden;position:relative}.dish-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.favorite-mark{background:#ffffffe6;border-radius:50%;color:#e9671d;padding:4px;position:absolute;right:9px;top:9px}.sales-mark{align-items:center;background:#241c18cc;border-radius:999px;bottom:8px;color:#fff;display:flex;font-size:.68rem;font-weight:800;gap:3px;left:8px;padding:4px 7px;position:absolute}.dish-card-body{padding:12px}.dish-category{color:#d65e18;font-size:.72rem;font-weight:700;margin:0}.dish-card h3{font-size:1rem;margin:4px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dish-meta{color:#83736a;display:flex;font-size:.72rem;gap:8px;justify-content:space-between}.dish-meta span{align-items:center;display:flex;gap:3px;white-space:nowrap}.dish-meta span:first-child{color:#d65e18}.recipe-message{color:#786b62;padding:36px 0;text-align:center}.error-state{color:#bb3c25}.recipe-empty{margin-top:22px}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}@media(min-width:600px){.dish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dish-image{height:160px}}@media(prefers-color-scheme:dark){.search-field,.dish-card{background:#30251f;border-color:#4a382d}.search-field input,.recipe-controls select{color:#fff5ed}.recipe-controls label,.dish-meta{color:#d1c2b8}.category-chips button{background:#47342a;color:#ead8cd}}.back-link{align-items:center;color:#d65e18;display:inline-flex;font-size:.9rem;font-weight:700;gap:5px;margin-bottom:18px}.detail-page{padding-top:24px}.detail-hero{align-items:center;background:linear-gradient(135deg,#ffe6cf,#f9bd83);border-radius:26px;display:flex;font-size:5rem;height:230px;justify-content:center;margin-bottom:18px;overflow:hidden}.detail-hero img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.detail-page h2{font-size:2rem;margin:5px 0 10px}.detail-meta{color:#786b62;display:flex;flex-wrap:wrap;font-size:.85rem;gap:13px}.detail-meta span{align-items:center;display:flex;gap:4px}.detail-meta span:first-child{color:#d65e18}.detail-description{color:#65574f;line-height:1.65;margin:20px 0 12px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px}.detail-tags span{background:#f8eee7;border-radius:999px;color:#786b62;font-size:.8rem;padding:6px 10px}.detail-section{border-top:1px solid #f0e1d6;margin-top:26px;padding-top:22px}.detail-section h3{font-size:1.15rem;margin:0 0 13px}.ingredient-list{list-style:none;margin:0;padding:0}.ingredient-list li{border-bottom:1px solid #f5eae3;display:flex;justify-content:space-between;padding:11px 2px}.ingredient-list li span:last-child{color:#8c7a70}.step-list{list-style:none;margin:0;padding:0}.step-list li{display:flex;gap:12px;margin-bottom:15px}.step-list li>span{align-items:center;background:#e9671d;border-radius:50%;color:#fff;display:flex;flex:0 0 25px;font-size:.75rem;font-weight:800;height:25px;justify-content:center}.step-list p{line-height:1.55;margin:2px 0 0}.detail-note{align-items:center;color:#8c7a70;display:flex;font-size:.82rem;gap:6px;margin:28px 0 0}@media(prefers-color-scheme:dark){.detail-description{color:#d1c2b8}.detail-section{border-color:#4a382d}.ingredient-list li{border-color:#403128}.detail-tags span{background:#47342a;color:#ead8cd}}.cooking-action{align-items:center;display:flex;gap:14px;justify-content:space-between}.cooking-action h3{margin-bottom:5px}.cooking-action p{color:#786b62;font-size:.85rem;line-height:1.45;margin:0}.cooking-action .save-button{flex:0 0 auto;min-width:116px}.favorites-page{padding-top:30px}.favorites-page h2{font-size:clamp(2rem,8vw,3rem)}.favorites-section,.history-section{margin-top:30px}.favorites-heading{align-items:center;display:flex;justify-content:space-between}.favorites-heading h3{align-items:center;display:flex;font-size:1.2rem;gap:7px;margin:0}.favorites-heading h3 svg{color:#d65e18}.favorites-heading>span{color:#786b62;font-size:.82rem}.favorites-grid{margin-top:14px}.mini-empty{align-items:center;background:#fff;border:1px solid #f0e1d6;border-radius:16px;color:#786b62;display:grid;gap:7px;justify-items:center;margin-top:14px;padding:22px;text-align:center}.mini-empty svg{color:#d65e18}.mini-empty p{margin:0}.mini-empty a{color:#d65e18;font-size:.9rem;font-weight:800}.cooking-history{background:#fff;border:1px solid #f0e1d6;border-radius:16px;margin-top:14px;overflow:hidden}.cooking-record{align-items:center;border-top:1px solid #f3e5db;display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr) auto;padding:11px 13px}.cooking-record:first-child{border-top:0}.cooking-record-image{align-items:center;background:#fff0e4;border-radius:10px;color:#d65e18;display:flex;height:42px;justify-content:center;overflow:hidden;width:42px}.cooking-record-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.cooking-record strong,.cooking-record small{display:block}.cooking-record small{color:#786b62;font-size:.76rem;margin-top:3px}.cooking-record b{color:#d65e18;font-size:.86rem}@media(prefers-color-scheme:dark){.mini-empty,.cooking-history{background:#30251f;border-color:#4a382d}.cooking-record{border-color:#4a382d}.cooking-record small,.cooking-action p{color:#d1c2b8}.cooking-record-image{background:#47342a}}
