:root{--ink:#22231e;--muted:#73716a;--paper:#f8f5ed;--white:#fffdf8;--red:#c9302b;--line:#d9d3c8;--blue:#163f68;--yellow:#e5af43}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1440px;margin:auto;padding:0 42px}.top{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:11px;font-size:1.05rem;font-weight:800;letter-spacing:.03em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:var(--red);border-radius:50%;font-family:serif;font-size:1.16rem}.top-note{font-size:.86rem;color:var(--muted);letter-spacing:.05em}.workspace{padding-top:30px}.intro{min-height:330px;display:grid;grid-template-columns:1.04fr .96fr;overflow:hidden;background:var(--blue);color:#fff}.intro-copy{padding:38px 5vw 40px 50px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.17em;color:#f7c86f;margin:0 0 18px}.intro h1{font-size:clamp(2.55rem,4.6vw,4.65rem);line-height:1.16;letter-spacing:-.055em;margin:0 0 15px;font-weight:800}.intro h1 em{color:#f6cb70;font-style:normal}.intro-copy>p:last-child{font-size:.99rem;color:#e2e9ed;line-height:1.75;margin:0;max-width:440px}.intro-image{background:#c7ac79 url('./food-table.webp') center/cover no-repeat;position:relative;min-height:300px}.image-label{position:absolute;right:18px;bottom:18px;background:#fffdf5;color:#173958;font-size:.75rem;letter-spacing:.19em;padding:10px 13px;font-weight:700}.image-label span{color:var(--red)}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.91fr);gap:24px;margin-top:24px;align-items:stretch}.chooser,.result{background:var(--white);border:1px solid var(--line);padding:30px 32px}.panel-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:26px}.number{font-size:.78rem;color:var(--red);font-weight:800;letter-spacing:.06em;padding-top:5px}.panel-heading h2{font-size:1.5rem;letter-spacing:-.04em;margin:0 0 4px}.panel-heading p{color:var(--muted);font-size:.88rem;margin:0}.chooser fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}.chooser legend{font-weight:700;font-size:.96rem;margin:0 0 11px;padding:0}.optional{font-weight:400;color:#8d8a80;font-size:.8rem;margin-left:6px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips label{position:relative;cursor:pointer}.chips input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.chips span{display:block;padding:8px 12px;border:1px solid var(--line);background:#fff;color:#515049;font-size:.85rem;transition:background .15s,color .15s,border-color .15s}.chips input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.chips input:focus-visible+span{outline:3px solid #e4a72d;outline-offset:2px}.chips label:hover span{border-color:var(--ink)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chooser select,.chooser input[type=text]{width:100%;min-height:45px;border:1px solid var(--line);border-radius:0;background:#fff;padding:10px 12px;color:var(--ink);outline:none}.chooser select:focus,.chooser input[type=text]:focus{border-color:var(--blue);box-shadow:0 0 0 3px #163f6822}.hint{font-size:.76rem;color:var(--muted);margin:8px 0 0;line-height:1.5}.primary{width:100%;background:var(--red);border:1px solid var(--red);color:#fff;padding:14px 19px;display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:1rem;transition:background .15s}.primary:hover{background:#a82623}.primary span:last-child{font-size:1.35rem;font-weight:400}.result{background:#f3ede0;position:relative;min-height:610px}.result-top{display:flex;align-items:center;gap:13px;border-bottom:1px solid #c9c1b1;padding-bottom:20px}.result-kicker{font-size:.9rem;font-weight:800;letter-spacing:.03em}.shuffle{border:0;background:none;text-decoration:underline;text-underline-offset:4px;margin-left:auto;color:var(--ink);font-size:.83rem;padding:3px 0}.shuffle:hover{color:var(--red)}.recipe-wrap{padding-top:30px}.recipe-seal{display:inline-block;background:var(--red);color:#fff;padding:5px 9px;font-size:.7rem;font-weight:700;letter-spacing:.12em}.recipe-name{font-size:clamp(2rem,3.1vw,3rem);line-height:1.15;letter-spacing:-.06em;margin:16px 0 8px}.recipe-blurb{color:#666159;line-height:1.65;margin:0 0 19px;font-size:.92rem}.recipe-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.recipe-meta span{font-size:.76rem;padding:5px 9px;background:#fff9ee;border:1px solid #d8cbb7}.match-note{border-left:3px solid var(--red);padding:6px 0 6px 12px;color:#554e43;font-size:.82rem;line-height:1.6;margin:0 0 23px;background:#fff8e8}.recipe-columns{display:grid;grid-template-columns:.78fr 1.22fr;gap:25px;border-top:1px solid #c9c1b1;padding-top:22px}.recipe-columns h3{font-size:.83rem;letter-spacing:.12em;margin:0 0 12px}.recipe-columns ul,.recipe-columns ol{padding-left:19px;margin:0;font-size:.85rem;line-height:1.85}.recipe-columns li+li{margin-top:5px}.recipe-tip{margin-top:22px;padding:12px 14px;background:#e6d8bd;font-size:.82rem;line-height:1.65}.recipe-tip strong{color:#8e271f}.empty{padding:30px 0;line-height:1.7;color:#625e55}.empty h3{font-size:1.4rem;color:var(--ink);margin-bottom:8px}footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0 36px;color:#77736b;font-size:.76rem}button:focus-visible{outline:3px solid #e4a72d;outline-offset:3px}@media(max-width:900px){.shell{padding:0 22px}.intro-copy{padding:30px}.main-grid{grid-template-columns:1fr}.result{min-height:0}}@media(max-width:620px){.shell{padding:0 14px}.top{height:63px}.top-note{display:none}.workspace{padding-top:14px}.intro{display:flex;flex-direction:column-reverse}.intro-image{min-height:205px}.intro-copy{padding:25px 22px 29px}.intro h1{font-size:2.45rem}.intro-copy>p:last-child{font-size:.88rem}.eyebrow{margin-bottom:12px}.main-grid{gap:14px;margin-top:14px}.chooser,.result{padding:23px 20px}.split{grid-template-columns:1fr;gap:0}.recipe-columns{grid-template-columns:1fr;gap:20px}.recipe-name{font-size:2rem}footer{display:block;line-height:1.8}}
.measure-guide{display:flex;align-items:flex-start;gap:13px;border-top:1px solid #c9c1b1;padding:17px 0 18px;font-size:.8rem;line-height:1.65;color:#665f54}.measure-guide strong{white-space:nowrap;color:var(--red);font-size:.82rem}.recipe-columns{border-top:1px solid #c9c1b1}.ingredient-list{list-style:none;padding:0!important}.ingredient-list li{display:flex;flex-direction:column;gap:2px;padding:7px 0;border-bottom:1px solid #d8d0bf;line-height:1.5}.ingredient-list li:first-child{padding-top:0}.ingredient-list li strong{font-weight:700;color:#9e302b;font-size:.86rem}.ingredient-list li+li{margin:0}.recipe-columns{grid-template-columns:.9fr 1.1fr}@media(max-width:620px){.measure-guide{display:block}.measure-guide strong{display:block;margin-bottom:3px}.recipe-columns{grid-template-columns:1fr}}

.recipe-photo{margin:0 0 22px}.recipe-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#e7ddcc}.recipe-photo figcaption{font-size:.75rem;line-height:1.5;color:#756e61;margin-top:7px}

