@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap");:root{color-scheme:light;--cream:#f6f5ef;--paper:#fffefa;--ink:#202d26;--muted:#5e6b62;--line:#dce1d9;--tomato:#315d49;--tomato-dark:#254b3a;--sage:#e9eee6;--focus:#315d49;--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--cream)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}::selection{background:#d8e4d4;color:#193b2e}button,input,textarea{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{cursor:wait;opacity:.72}.app-shell{max-width:1040px;min-height:100vh;margin:0 auto;padding:0 34px 70px}.topbar{height:82px;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar,.topbar-actions{display:flex;align-items:center}.topbar-actions{gap:15px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-family:"Manrope",var(--sans);font-size:19px;font-weight:800;letter-spacing:.075em}.brand img{display:block;width:42px;height:42px;border-radius:13px}.topbar-note{color:var(--muted);font-size:13px;letter-spacing:.04em}.button-quiet{min-height:38px;padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px}.welcome-section{display:grid;grid-template-columns:1fr .85fr;grid-gap:28px 58px;gap:28px 58px;align-items:center;padding:58px 0 52px;border-bottom:1px solid var(--line)}.welcome-copy{grid-column:1/-1;max-width:720px}.welcome-copy h1{max-width:none;margin-bottom:14px;font-size:clamp(2.5rem,6vw,4rem)}.welcome-copy p{max-width:55ch;margin-bottom:0;color:var(--muted);font-size:18px}.welcome-steps{display:grid;grid-gap:0;gap:0;padding:0;margin:0;list-style:none}.welcome-steps li{display:grid;grid-template-columns:36px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.welcome-steps li:first-child{padding-top:0}.welcome-steps li span{color:var(--tomato-dark);font-family:var(--serif);font-size:18px}.welcome-steps li p{margin:0;color:var(--muted)}.welcome-action{align-self:center;padding:20px 0;border-top:1px solid var(--line)}.welcome-action>p:first-child{margin-bottom:13px;color:var(--muted)}.sign-in-button{min-height:48px}.account-welcome{max-width:560px}.compact-steps li{padding:7px 0}.search-section{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:45px;gap:45px;align-items:end;padding:62px 0 43px;border-bottom:1px solid var(--line)}.search-copy{display:contents}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{grid-column:1/-1;max-width:none;margin-bottom:0;font-size:clamp(2.25rem,5vw,3.65rem);line-height:1.02}.search-copy p{max-width:38ch;margin-bottom:0;color:var(--muted)}.review-form label,.search-form>label{display:block;margin-bottom:8px;font-size:13px;font-weight:700}.search-control{min-height:56px;display:flex;align-items:center;gap:11px;padding:5px 6px 5px 15px;border:1px solid #c8d1c7;border-radius:12px;background:var(--paper);box-shadow:0 5px 18px rgb(35 65 48/6%)}.search-icon{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-linecap:round;stroke-width:1.8}.search-control input{min-width:0;flex:1 1;height:42px;border:0;outline:0;background:transparent;color:var(--ink)}.search-control input::placeholder,textarea::placeholder{color:#596b62;opacity:1}.search-control input:focus-visible{outline:none}.search-control:focus-within{outline:3px solid var(--focus);outline-offset:2px}.button{min-height:44px;padding:0 20px;border:0;border-radius:7px;font-weight:700;cursor:pointer;transition:background-color .16s ease,transform .16s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--tomato);color:#fffdf8}.button-primary:hover:not(:disabled){background:var(--tomato-dark)}.button-secondary{background:var(--sage);color:#254536}.button-secondary:hover:not(:disabled){background:#dce5da}.results-section{min-height:256px;padding:36px 0 40px;border-bottom:1px solid var(--line)}.start-note{display:flex;align-items:flex-start;gap:17px;max-width:510px;padding-top:12px}.start-note p{max-width:43ch;margin:0;color:var(--muted)}.dish-number,.note-mark{color:var(--tomato-dark);font-family:var(--serif);font-size:19px}.saved-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.eyebrow{margin-bottom:7px;color:var(--tomato-dark);font-size:11px;font-weight:700;letter-spacing:.13em}.saved-heading h2,.section-heading h2{margin-bottom:0;font-size:29px;line-height:1.1}.example-tag{padding:5px 10px;border-radius:999px;background:var(--sage);color:#254536;font-size:12px;font-weight:600}.section-intro{margin:13px 0 18px;color:var(--muted);font-size:14px}.dish-list,.dish-notes ul,.review-list{padding:0;margin:0;list-style:none}.dish-list{display:grid;grid-gap:9px;gap:9px}.dish-list li{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dish-list li:hover{border-color:#b7c6b8;box-shadow:0 5px 16px rgb(35 65 48/7%);transform:translateY(-1px)}.dish-row{display:flex;width:100%;min-height:68px;align-items:center;gap:18px;padding:14px 15px;border:0;background:transparent;text-align:left;cursor:pointer}.dish-number{width:28px;font-size:16px}.dish-text{display:grid;grid-gap:2px;gap:2px;flex:1 1}.dish-text strong{font-family:"Manrope",var(--sans);font-size:16px;font-weight:700}.dish-text small{color:var(--muted);font-size:12px}.dish-arrow{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--tomato-dark)}.dish-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.empty-state,.saved-empty{padding:20px 0;color:var(--muted)}.empty-state h2{margin-bottom:6px;color:var(--ink);font-size:24px}.empty-state p,.saved-empty p{margin-bottom:0}.saved-section{padding-top:35px}.saved-heading{margin-bottom:17px}.review-count{color:var(--muted);font-size:13px}.saved-empty{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.empty-line{width:25px;height:1px;background:var(--tomato)}.review-list{border-top:1px solid var(--line)}.review-item{padding:16px 0;border-bottom:1px solid var(--line)}.review-meta{display:flex;align-items:baseline;gap:11px}.review-meta strong{font-family:"Manrope",var(--sans);font-size:15px}.review-meta span{color:var(--muted);font-size:13px}.review-item p{max-width:70ch;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-delete-form{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px}.review-delete-form .form-message{margin:0}.privacy-note{margin:17px 0 0;color:#425b50;font-size:12px}.share-dish{padding:3px 0 17px;margin-bottom:16px;border-bottom:1px solid var(--line)}.share-link{padding-top:14px}.share-link label{display:block;margin-bottom:7px;font-size:13px;font-weight:700}.share-link-row{display:flex;gap:8px}.share-link-row input{min-width:0;flex:1 1;height:44px;padding:0 10px;border:1px solid #bfc9bf;border-radius:8px;background:#fff;color:var(--ink);font-size:13px}.shared-section{max-width:720px;padding:50px 0 35px}.shared-section h1{max-width:none;margin-bottom:12px;font-size:clamp(2.1rem,6vw,3.5rem)}.dish-summary{padding:17px 18px;margin:24px 0;border:1px solid #d7e1d5;border-radius:10px;background:var(--sage)}.dish-summary .eyebrow{margin-bottom:8px}.dish-summary p{margin-bottom:5px}.dish-summary .field-hint{margin:6px 0 0}.shared-section .dish-notes h2{margin-bottom:7px;font-family:"Manrope",var(--sans);font-size:17px;letter-spacing:0}.sheet-backdrop{position:fixed;z-index:5;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgb(22 40 32/48%)}.dish-sheet{width:min(100%,680px);max-height:min(78vh,760px);overflow-y:auto;padding:22px 30px 30px;border-radius:18px 18px 0 0;background:var(--paper);box-shadow:0 -12px 42px rgb(22 40 32/18%);scrollbar-color:#aab7a8 var(--cream);animation:sheet-up .28s cubic-bezier(.16,1,.3,1) both}@keyframes sheet-up{0%{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-close{display:block;width:54px;height:5px;margin:0 auto 22px;padding:0;border:0;border-radius:9px;background:#a2ada2;cursor:pointer}.sheet-close span{display:block;height:16px;margin-top:-6px}.dish-sheet h2{margin-bottom:18px;font-size:clamp(27px,6vw,36px);line-height:1.12}.dish-empty{padding:16px 18px;margin:0 0 22px;border:1px solid #d7e1d5;border-left:4px solid var(--tomato);border-radius:9px;background:var(--sage)}.dish-empty p{margin-bottom:4px;color:var(--muted);font-size:14px}.dish-empty .empty-title{margin-bottom:2px;color:var(--ink);font-weight:700}.photo-upload-row{display:flex;align-items:center;gap:10px;margin:10px 0 12px}.photo-upload{position:relative;display:inline-flex;align-items:center;gap:8px;overflow:hidden;cursor:pointer}.photo-upload svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.photo-upload input{position:absolute;width:1px;height:1px;opacity:0}.photo-upload:focus-within{outline:3px solid #2b77e7;outline-offset:3px}.review-photo-preview{width:min(100%,260px);max-height:240px;margin:8px 0 12px}.review-photo-preview,.shared-review-photo{display:block;border-radius:9px;object-fit:cover}.shared-review-photo{width:min(100%,360px);max-height:260px;margin:0 0 10px}.dish-notes{padding:16px 18px;margin-bottom:22px;border:1px solid #d7e1d5;border-left:4px solid var(--tomato);border-radius:9px;background:var(--sage)}.dish-notes h3{margin-bottom:9px;font-family:"Manrope",var(--sans);font-size:16px}.dish-notes li{padding:10px 0;border-top:1px solid #d3ddd2;white-space:pre-wrap;overflow-wrap:anywhere}.review-form{padding-top:17px;border-top:1px solid var(--line)}.field-hint{margin:-3px 0 10px;color:var(--muted);font-size:13px}.review-form textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:12px 13px;border:1px solid #bfc9bf;border-radius:8px;background:#fff;color:var(--ink)}.review-form textarea:focus-visible{outline-offset:2px}.save-button{margin-top:13px}.form-message{margin:9px 0 0;font-size:13px}.form-message.error{color:#9b2e20}.form-message.success{color:#1d6849}.landing-shell{width:min(100%,1160px);min-height:100vh;margin:0 auto;padding:0 42px 24px}.landing-topbar{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.landing-note{color:var(--muted);font-size:13px;letter-spacing:.04em}.landing-hero{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:62px;gap:62px;align-items:center;padding:72px 0 68px;border-bottom:1px solid var(--line)}.landing-copy{max-width:500px}.landing-kicker{margin:0 0 12px;color:var(--tomato-dark);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.landing-copy h1{margin:0 0 19px;font-size:clamp(3.8rem,7.4vw,6rem);line-height:.96}.landing-lede{max-width:46ch;margin:0 0 24px;color:var(--muted);font-size:18px;line-height:1.55}.landing-cta{display:inline-flex;min-height:52px;align-items:center;gap:13px;padding:0 22px;text-decoration:none}.landing-cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.landing-signin-note{margin:12px 0 0;color:var(--muted);font-size:12px}.landing-preview{padding:22px 24px 18px;border:1px solid #d5ddd4;border-radius:14px;background:var(--paper);box-shadow:0 12px 34px rgb(35 65 48/7%)}.preview-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.1em}.preview-topline span:first-child{color:var(--ink);font-family:"Manrope",var(--sans);font-weight:800;letter-spacing:.13em}.preview-search{display:flex;min-height:47px;align-items:center;gap:11px;padding:0 12px;margin-top:17px;border:1px solid #c8d1c7;border-radius:8px;color:var(--muted)}.preview-search svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.preview-search>span:nth-child(2){flex:1 1;font-size:14px}.preview-search-label{color:var(--tomato-dark);font-size:11px;font-weight:700}.preview-menu-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:22px}.preview-menu-heading p{margin:0 0 5px;color:var(--tomato-dark);font-size:10px;font-weight:700;letter-spacing:.13em}.preview-menu-heading h2{margin:0;font-size:29px;line-height:1.05}.preview-menu-heading>span{padding:5px 8px;color:var(--muted);font-size:10px;letter-spacing:.1em}.preview-instruction{margin:12px 0 8px;color:var(--muted);font-size:12px}.preview-dishes{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.preview-dishes li{display:grid;grid-template-columns:27px minmax(0,1fr) 16px;align-items:center;grid-gap:10px;gap:10px;min-height:48px;border-bottom:1px solid var(--line)}.preview-dishes li>span:first-child{color:var(--tomato-dark);font-family:var(--serif);font-size:13px}.preview-dishes li strong{min-width:0;font-family:"Manrope",var(--sans);font-size:13px;font-weight:700}.preview-dishes li>svg{width:15px;height:15px;fill:none;stroke:var(--tomato-dark);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.preview-footnote{margin:11px 0 0;color:var(--muted);font-size:11px}.landing-story{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:52px;gap:52px;padding:48px 0 42px;border-bottom:1px solid var(--line)}.story-heading h2{max-width:340px;margin:0;font-size:clamp(2rem,3.8vw,2.8rem);line-height:1.03}.story-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.story-steps li{padding:17px 15px 0;border-right:1px solid var(--line)}.story-steps li:first-child{padding-left:0}.story-steps li:last-child{padding-right:0;border-right:0}.story-steps li>span{color:var(--tomato-dark);font-family:var(--serif);font-size:16px}.story-steps h3{margin:8px 0 5px;font-family:"Manrope",var(--sans);font-size:14px}.story-steps p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.landing-footer{display:flex;justify-content:space-between;padding:16px 0 0;color:var(--muted);font-size:11px;letter-spacing:.08em}.landing-footer span:first-child{color:var(--ink);font-family:"Manrope",var(--sans);font-weight:800}@media (max-width:680px){.app-shell{padding:0 20px 48px}.topbar{height:70px}.topbar-actions{gap:8px}.topbar-note{display:none}.button-quiet{min-height:36px;padding:0 9px}.brand img{width:38px;height:38px}.welcome-section{grid-template-columns:1fr;gap:18px;padding:38px 0 32px}.welcome-copy{grid-column:1}.welcome-copy h1{font-size:clamp(2.45rem,12vw,3.2rem)}.welcome-copy p{font-size:16px}.welcome-action,.welcome-steps{grid-column:1}.welcome-action{padding:15px 0 0}.account-welcome{max-width:none}.search-section{grid-template-columns:1fr;gap:23px;padding:39px 0 29px}h1{font-size:clamp(2.45rem,12vw,3.2rem)}.search-form>label{margin-bottom:7px}.search-control{gap:7px;padding-left:11px}.search-control .button{padding:0 14px}.results-section{min-height:222px;padding:28px 0 31px}.saved-heading h2,.section-heading h2{font-size:25px}.dish-row{gap:12px;padding:14px 3px}.dish-number{width:24px}.dish-text strong{font-size:15px}.saved-section{padding-top:29px}.saved-empty{align-items:flex-start;padding:14px;font-size:14px}.dish-sheet{max-height:82vh;padding:16px 21px 24px}.sheet-close{margin-bottom:17px}.shared-section{padding-top:34px}.share-link-row{align-items:stretch;flex-direction:column}.share-link-row input{width:100%}.landing-shell{width:100%;max-width:100%;overflow-x:clip;padding:0 20px 18px}.landing-topbar{height:70px}.landing-hero{min-width:0;grid-template-columns:minmax(0,1fr);gap:30px;padding:42px 0 36px}.landing-copy,.landing-preview{min-width:0;max-width:100%}.landing-copy h1{max-width:8ch;font-size:clamp(3.4rem,16vw,4.4rem)}.landing-lede{max-width:100%;overflow-wrap:anywhere;font-size:16px}.landing-preview{padding:17px 16px 15px}.preview-menu-heading h2{font-size:26px}.landing-story{grid-template-columns:1fr;gap:22px;padding:32px 0 27px}.story-heading h2{max-width:none;font-size:31px}.story-steps{grid-template-columns:1fr}.story-steps li,.story-steps li:first-child,.story-steps li:last-child{display:grid;grid-template-columns:31px 1fr;grid-gap:11px;gap:11px;padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.story-steps li>span{grid-row:span 2}.story-steps li>div{min-width:0}.story-steps h3{margin:0 0 3px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}