:root{--paper: #f8f4ea;--paper-deep: #eee6d4;--ink: #253027;--muted: #687269;--tomato: #c94c3d;--tomato-dark: #91372d;--tomato-pale: #f8ddd6;--leaf: #477553;--leaf-dark: #2c5138;--leaf-pale: #dfeade;--line: #d8cdb9;--white: #fffdf8;--shadow: 0 12px 30px rgba(67, 57, 42, .1);--radius-lg: 26px;--radius-md: 15px;--content: 1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 12% 20%,rgba(201,76,61,.05) 0 1px,transparent 1.6px),radial-gradient(circle at 80% 8%,rgba(71,117,83,.05) 0 1px,transparent 1.6px),var(--paper);background-size:23px 23px,31px 31px,auto;font-family:Hiragino Sans,Yu Gothic,system-ui,-apple-system,sans-serif;line-height:1.7}body:before{position:fixed;inset:0;z-index:-1;pointer-events:none;content:"";opacity:.22;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(88,68,44,.025) 5px 6px)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--leaf-dark)}:focus-visible{outline:3px solid #e49c33;outline-offset:3px}.skip-link{position:absolute;top:10px;left:12px;z-index:10;padding:8px 13px;color:var(--white);background:var(--leaf-dark);border-radius:999px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid rgba(216,205,185,.8);background:#fffdf8c7;backdrop-filter:blur(8px)}.site-header-inner,.site-footer-inner,.section-inner{width:min(calc(100% - 40px),var(--content));margin:0 auto}.site-header-inner{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:800;letter-spacing:.02em}.brand-mark{display:grid;width:40px;height:40px;place-items:center;color:var(--white);background:var(--tomato);border-radius:49% 51% 47% 53%;box-shadow:inset -4px -5px #71211b29;font-size:1.2rem}.brand-text{display:grid;gap:0;line-height:1.15}.brand-text small{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.12em}.brand-text span{font-size:1.05rem}.site-nav{display:flex;align-items:center;gap:12px}.site-nav a{min-height:44px;display:inline-flex;align-items:center;padding:6px 12px;color:var(--muted);text-decoration:none;border-radius:999px;font-size:.86rem;font-weight:700}.site-nav a:hover{color:var(--leaf-dark);background:var(--leaf-pale)}.hero{padding:48px 0 40px}.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,6vw,76px)}.hero-copy{position:relative}.hero-copy:before{position:absolute;top:-22px;left:-18px;width:52px;height:36px;content:"";border-top:4px solid var(--leaf);border-left:4px solid var(--leaf);border-radius:12px 0 0;opacity:.75}.kicker,.eyebrow{margin:0;color:var(--tomato-dark);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero h1{max-width:13ch;margin:11px 0 18px;font-family:Georgia,Yu Mincho,serif;font-size:clamp(2.45rem,5.4vw,4.7rem);line-height:1.07;letter-spacing:-.06em}.hero h1 em{color:var(--tomato);font-style:normal}.hero-lead{max-width:43em;margin:0;color:#4e5a50;font-size:clamp(1rem,1.7vw,1.15rem)}.hero-rule{width:92px;height:5px;margin:24px 0;background:var(--leaf);border-radius:999px;transform:rotate(-2deg)}.hero-note{display:flex;max-width:44em;gap:10px;margin:20px 0 0;padding:12px 15px;color:var(--leaf-dark);background:#dfeadab3;border-left:4px solid var(--leaf);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:.88rem}.hero-note strong{flex:0 0 auto}.hero-art{position:relative;min-width:0;padding:12px}.hero-art:before,.hero-art:after{position:absolute;z-index:1;content:"";pointer-events:none}.hero-art:before{inset:0 24px 24px 0;border:1px solid var(--tomato);border-radius:28px 9px 33px 10px;transform:rotate(-2deg)}.hero-art:after{right:0;bottom:4px;width:85px;height:85px;background:var(--leaf);border-radius:57% 43% 50% 50%;opacity:.9;transform:rotate(25deg)}.hero-art img{position:relative;z-index:2;width:100%;aspect-ratio:3 / 2;object-fit:cover;object-position:60% center;border:9px solid var(--white);border-radius:24px 8px 24px 10px;box-shadow:var(--shadow)}.art-caption{position:relative;z-index:3;display:inline-flex;max-width:calc(100% - 28px);margin:-20px 0 0 22px;padding:9px 15px;color:var(--white);background:var(--leaf-dark);border-radius:6px 18px;font-size:.8rem;font-weight:700}.search-section{padding:12px 0 74px}.search-panel{position:relative;padding:clamp(22px,4vw,40px);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg) 8px var(--radius-lg) 8px;box-shadow:var(--shadow)}.search-panel:before{position:absolute;top:-7px;right:34px;left:34px;height:13px;content:"";border-top:2px dashed rgba(201,76,61,.36)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2,.saved-heading h2{margin:3px 0 0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2}.section-heading p{max-width:28em;margin:0;color:var(--muted);font-size:.9rem;text-align:right}.form-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.48fr) minmax(0,.9fr);gap:18px;align-items:end}.field{min-width:0;display:grid;gap:8px}.field label{color:var(--leaf-dark);font-size:.86rem;font-weight:800}.field label .required{margin-left:5px;color:var(--tomato-dark);font-size:.72rem}.field textarea,.field input,.field select{width:100%;min-height:49px;padding:10px 13px;color:var(--ink);background:#fffefb;border:1px solid #cfc3ae;border-radius:11px;font-size:16px}.field textarea{min-height:92px;resize:vertical}.field textarea::placeholder,.field input::placeholder{color:#8b9289}.field-help{min-height:1.4em;margin:0;color:var(--muted);font-size:.78rem}.field-help strong{color:var(--tomato-dark)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:22px}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 18px;color:var(--white);background:var(--tomato);border:1px solid transparent;border-radius:999px;cursor:pointer;font-weight:800;line-height:1.2;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.button:hover{background:var(--tomato-dark);box-shadow:0 6px 13px #91372d2e;transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button-primary{color:var(--white);background:var(--leaf)}.button-primary:hover{background:var(--leaf-dark)}.button-quiet{color:var(--leaf-dark);background:transparent;border-color:#b7c7b5}.button-quiet:hover{color:var(--leaf-dark);background:var(--leaf-pale)}.button-danger{color:var(--tomato-dark);background:transparent;border-color:#e8b7ae}.button-danger:hover{background:var(--tomato-pale)}.button-small{min-height:44px;padding:8px 13px;font-size:.82rem}.form-boundary-note{margin:17px 0 0;padding-top:14px;color:var(--muted);border-top:1px solid var(--line);font-size:.8rem}.example-row,.normalized-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.example-row{margin-top:16px}.example-label,.chip-label{margin-right:2px;color:var(--muted);font-size:.78rem;font-weight:700}.example-button,.ingredient-chip{min-height:44px;display:inline-flex;align-items:center;padding:5px 11px;color:var(--leaf-dark);background:var(--leaf-pale);border:1px solid #c3d6c1;border-radius:999px;font-size:.78rem;font-weight:700}.example-button{cursor:pointer}.example-button:hover{background:#cadfc8}.normalized-list{min-height:36px;margin-top:14px}.chip-note{color:var(--muted);font-size:.78rem}.feedback{min-height:25px;margin:17px 0 0;color:var(--leaf-dark);font-size:.86rem;font-weight:700}.feedback[data-type=error]{color:var(--tomato-dark)}.feedback[data-type=success]{color:var(--leaf-dark)}.results-section{scroll-margin-top:24px;padding:0 0 72px}.results-heading-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.results-heading-row h2{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(1.55rem,3vw,2.25rem)}.result-summary{max-width:44em;margin:0;color:var(--muted);font-size:.86rem;text-align:right}.result-summary.is-error{color:var(--tomato-dark)}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.recipe-card{position:relative;min-width:0;padding:25px;background:var(--white);border:1px solid var(--line);border-top:5px solid var(--tomato);border-radius:9px 25px;box-shadow:0 8px 22px #43392a12}.recipe-card:nth-child(3n){border-top-color:var(--leaf)}.recipe-card-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px}.recipe-index{display:grid;width:38px;height:38px;place-items:center;color:var(--tomato-dark);background:var(--tomato-pale);border-radius:50% 45% 50% 44%;font-family:Georgia,serif;font-weight:700}.recipe-title-wrap h3{margin:1px 0 0;font-size:1.17rem;line-height:1.35;overflow-wrap:anywhere}.recipe-title-wrap .eyebrow{font-size:.65rem;letter-spacing:.11em}.card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.recipe-description{margin:17px 0;color:var(--muted);font-size:.89rem}.match-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.pill{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;font-size:.74rem;font-weight:800}.pill-match{color:var(--leaf-dark);background:var(--leaf-pale)}.pill-missing{color:var(--tomato-dark);background:var(--tomato-pale)}.pill-complete{color:var(--leaf-dark);background:#edf1df}.pill-excluded{color:#71541d;background:#f3e8ba}.card-section{margin-top:18px;padding-top:17px;border-top:1px dashed var(--line)}.card-section h4{margin:0 0 10px;color:var(--leaf-dark);font-size:.84rem;letter-spacing:.04em}.material-list,.steps-list{margin:0;padding:0}.material-list{display:grid;gap:7px;list-style:none}.material-row{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:baseline;padding:7px 9px;background:#faf7f0;border-radius:7px;font-size:.86rem}.material-row.is-missing{color:var(--tomato-dark);background:var(--tomato-pale)}.material-marker{color:var(--leaf);font-weight:800}.is-missing .material-marker{color:var(--tomato)}.material-name{overflow-wrap:anywhere}.material-amount{color:var(--muted);font-size:.78rem;white-space:nowrap}.missing-note{margin:10px 0 0;color:var(--tomato-dark);font-size:.8rem;font-weight:700}.steps-list{display:grid;gap:8px;padding-left:23px;color:#4e5a50;font-size:.86rem}.steps-list li::marker{color:var(--tomato);font-weight:800}.caution-note{margin:18px 0 9px;padding:10px 12px;color:#5d512d;background:#fbf2d9;border-radius:7px;font-size:.78rem}.source-link{display:inline-flex;min-height:44px;align-items:center;color:var(--leaf-dark);font-size:.78rem;font-weight:700}.site-footer a{display:inline-flex;min-height:44px;align-items:center}.card-disclaimer{margin:14px 0 0;padding-top:12px;color:var(--muted);border-top:1px solid rgba(216,205,185,.68);font-size:.73rem}.empty-state{grid-column:1 / -1;min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;padding:26px;color:var(--muted);background:#fffdf8ad;border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center}.empty-state p{max-width:32em;margin:0}.empty-mark{display:grid;width:42px;height:42px;place-items:center;color:var(--tomato-dark);background:var(--tomato-pale);border-radius:50%;font-weight:900}.error-state{color:var(--tomato-dark);background:#fff4ef;border-color:#e8b7ae}.saved-section{padding:34px 0 82px;background:#dfeada6b;border-top:1px solid rgba(194,211,191,.72);border-bottom:1px solid rgba(194,211,191,.72)}.saved-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:20px}.saved-heading p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.saved-count{min-width:59px;display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:4px 10px;color:var(--leaf-dark);background:var(--white);border:1px solid #c3d6c1;border-radius:999px;font-size:.78rem;font-weight:800}.saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.saved-item{min-width:0;padding:20px;background:#fffdf8e6;border:1px solid #c3d6c1;border-radius:9px 19px}.saved-item h3{margin:0;font-size:1rem}.saved-time{display:block;margin-top:3px;color:var(--muted);font-size:.73rem}.saved-text{max-height:240px;margin:14px 0;padding:12px;overflow:auto;color:#4e5a50;background:#faf7f0;border-radius:8px;font:.77rem/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.saved-actions{display:flex;flex-wrap:wrap;gap:8px}.saved-empty{grid-column:1 / -1;margin:0;padding:21px;color:var(--muted);background:#fffdf8bd;border:1px dashed #c3d6c1;border-radius:12px;text-align:center}.notice-section{padding:25px 0 70px}.notice-box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start;max-width:860px;margin:0 auto;padding:20px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.notice-box h2{margin:0 0 5px;font-size:1rem}.notice-box p{margin:0;color:var(--muted);font-size:.82rem}.notice-icon{display:grid;width:40px;height:40px;place-items:center;color:var(--white);background:var(--leaf);border-radius:50%;font-weight:900}.site-footer{padding:26px 0 32px;color:#e8efe8;background:var(--leaf-dark)}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p{margin:0;font-size:.77rem}.site-footer a{color:#e8efe8;font-size:.77rem}@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:30px}.form-grid{grid-template-columns:minmax(0,1fr) minmax(150px,.6fr)}.field:last-child{grid-column:1 / -1}.recipe-grid,.saved-grid{grid-template-columns:1fr}}@media(max-width:680px){.site-header-inner,.site-footer-inner,.section-inner{width:min(calc(100% - 28px),var(--content))}.site-header-inner{min-height:67px}.site-nav a{padding-inline:8px;font-size:.76rem}.hero{padding-top:34px}.hero-grid{grid-template-columns:1fr}.hero h1{max-width:12ch}.hero-art{max-width:600px;margin:0 auto}.search-section{padding-bottom:53px}.search-panel{padding:22px 17px}.section-heading,.results-heading-row,.saved-heading{display:block}.section-heading p,.result-summary{margin-top:7px;text-align:left}.form-grid{grid-template-columns:1fr;gap:14px}.field:last-child{grid-column:auto}.form-actions .button{flex:1 1 180px}.recipe-card{padding:20px 17px}.recipe-card-top{grid-template-columns:38px minmax(0,1fr)}.card-actions{grid-column:1 / -1;justify-content:flex-start}.site-footer-inner{display:block}.site-footer a{display:inline-flex;min-height:44px;align-items:center;margin-top:7px}}@media(max-width:360px){.site-nav{gap:3px}.site-nav a{padding-inline:5px;font-size:.7rem}.brand-text span{font-size:.9rem}.brand-mark{width:35px;height:35px}.hero h1{font-size:2.32rem}.hero-art{padding:7px}.recipe-card-top{gap:8px}.button-small{padding-inline:10px}.material-row{grid-template-columns:18px minmax(0,1fr)}.material-amount{grid-column:2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.site-header,.hero,.search-section,.results-section,.saved-section,.notice-section,.site-footer{display:none!important}}
