@charset "UTF-8";
:root{font-family:"PingFang SC","Microsoft YaHei UI",system-ui,sans-serif;color:#243d32;background:#f7faf7;font-size:15px;line-height:1.7;--green:#244c3a;--muted:#68786e;--line:#dfe7df;--orange:#ce6239}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,46px);line-height:1.25;letter-spacing:-1px}h2{font-size:23px;line-height:1.4}h3{font-size:18px;line-height:1.5}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #c6d4c7;border-radius:10px;background:#fff;padding:11px 13px;min-height:46px}textarea{resize:vertical;line-height:1.8}label{display:block;font-size:14px;font-weight:600}label>input,label>textarea,label>select{display:block;margin-top:7px;font-weight:400}label small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b87721;outline-offset:3px}button{border:0}img{max-width:100%}[hidden]{display:none!important}.site-header{display:flex;align-items:center;gap:24px;padding:20px max(24px,calc((100vw - 1200px)/2));background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font-size:20px}.brand img{border-radius:9px}.site-header nav{display:flex;gap:25px;margin-left:24px;flex:1}.site-header nav a{white-space:nowrap;text-decoration:none;font-size:14px;color:var(--muted);padding:8px 0;border-bottom:2px solid transparent}.site-header nav a[aria-current]{color:var(--green);border-color:var(--green);font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c6d4c7;border-radius:10px;min-height:44px;padding:10px 18px;background:white;text-decoration:none;font-size:14px;font-weight:600}.button:hover{background:#edf4eb}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:#35664b}.button.subtle{background:transparent}.button.danger{color:#a53636;border-color:#d7b0ab}.button[aria-pressed=true],.chip[aria-pressed=true]{background:#e1eedc;border-color:#8aa67c;color:var(--green)}.text-button{background:none;padding:10px 0;color:var(--green);text-decoration:underline;font-size:14px;min-height:44px}.icon-button{width:44px;height:44px;background:#f0f4ed;border-radius:50%;font-size:24px}.muted{color:var(--muted);font-size:13px}.error{color:#a03434;white-space:pre-wrap;margin:10px 0;overflow-wrap:anywhere}.notice{padding:13px 17px;background:#edf4e8;border:1px solid #dbe6d1;border-radius:10px;font-size:13px}.notice.warning{background:#fff5e5;color:#815121;border-color:#ebd4b5}.page{max-width:1200px;margin:0 auto;padding:40px 24px 70px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-head p{margin-top:12px;color:var(--muted)}.eyebrow{font-size:12px;color:#526b4c;letter-spacing:1px;margin-bottom:10px}.discovery-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:36px;padding:34px 38px;background:#edf4e8;border-radius:20px;margin-bottom:28px;border:1px solid #dce6d4}.discovery-hero p{margin-top:14px;color:#61765d}.hero-aside{border-left:1px solid #cdddc7;padding-left:30px;display:flex;flex-direction:column;justify-content:center}.hero-aside strong{font-size:44px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.hero-aside span{font-size:14px;margin-top:9px}.hero-aside small{font-size:12px;margin-top:14px;color:var(--muted)}.search-form{display:flex;gap:10px;margin-top:25px;max-width:650px}.search-form input{flex:1;min-width:0}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 23px}.chip{border:1px solid var(--line);background:white;border-radius:24px;min-height:42px;padding:8px 17px;font-size:13px;white-space:nowrap}.list-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.list-heading h2{font-size:20px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.recipe-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;min-width:0;display:flex;flex-direction:column;transition:border-color .15s}.recipe-card:hover{border-color:#99b08c}.recipe-card a{text-decoration:none}.recipe-card .category{font-size:12px;color:#6d815f;margin-bottom:15px;display:flex;align-items:center;gap:9px}.category-symbol{height:30px;width:30px;border:1px solid #dbe5d4;border-radius:8px;background:#f3f7ee;display:grid;place-items:center;font-weight:600;color:#47623d}.recipe-card h3{font-size:21px;margin-bottom:10px}.recipe-card p{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.recipe-card footer{margin-top:auto;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.recipe-card footer a{color:var(--green);font-weight:600}.empty{padding:55px 22px;text-align:center;border:1px dashed #c8d7c4;border-radius:16px;background:#fff;grid-column:1/-1}.empty p{color:var(--muted);margin:10px 0 20px}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:30px;font-size:13px}.loading{text-align:center;padding:65px 20px;color:var(--muted)}.back-link{display:inline-block;margin-bottom:25px;color:var(--muted);font-size:14px}.detail-top{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:24px}.detail-top h1{font-size:36px}.detail-top .actions{margin-top:22px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.detail-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.panel{padding:26px;background:white;border:1px solid var(--line);border-radius:15px;min-width:0}.panel h2{margin-bottom:18px}.ingredients-list{list-style:none;margin:0;padding:0}.ingredients-list li{padding:12px 0;border-bottom:1px solid #ebf0e6;font-size:14px;overflow-wrap:anywhere}.ingredients-list li:last-child{border:0}.step-list{padding:0;list-style:none;counter-reset:step}.step-list li{counter-increment:step;display:flex;gap:15px;margin:0 0 23px;font-size:15px;overflow-wrap:anywhere}.step-list li:before{content:counter(step);flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#edf3e8;color:#5e784d;font-size:13px;font-weight:600}.step-list li>span{min-width:0}.source-note{margin-top:24px;font-size:12px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere}.tips{margin-top:22px}.tips li{margin:8px 0;font-size:14px}.stack{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-email{display:block;font-size:22px;margin:20px 0;overflow-wrap:anywhere}.contact-intro p{color:var(--muted);margin:14px 0}.honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-footer{max-width:1152px;margin:0 auto;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;gap:24px;color:var(--muted);font-size:12px}.site-footer span{margin-right:auto}.site-footer a{text-decoration:none}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;width:min(470px,calc(100vw - 24px));max-height:90dvh;overflow:auto;color:var(--green);box-shadow:0 15px 70px #1e382827}dialog::backdrop{background:#14271c73}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}dialog form{display:grid;gap:16px;margin-top:20px}.dialog-heading h2{font-size:23px}.dialog-heading .icon-button{flex:none}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);z-index:100;background:#244c3a;color:white;padding:13px 20px;border-radius:10px;font-size:14px;box-shadow:0 6px 20px #10291e20}.skip-link{position:fixed;top:-100px;left:15px;padding:10px;background:var(--green);color:white;z-index:101}.skip-link:focus{top:10px}
@media(max-width:960px){.site-header{padding:17px 24px;gap:18px;flex-wrap:wrap}.site-header nav{order:3;width:100%;margin:0;justify-content:space-between;flex:none;gap:16px}.site-header>.button{margin-left:auto}.discovery-hero{grid-template-columns:1fr 200px;padding:28px;gap:22px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{margin:0 24px}.detail-layout{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:640px){.site-header{padding:15px 18px}.brand{font-size:18px}.site-header nav{gap:12px;overflow:auto}.site-header nav a{font-size:13px}.site-header>.button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:25px 18px 45px}.discovery-hero{grid-template-columns:1fr;padding:25px 22px;gap:0;border-radius:15px}.hero-aside{border:0;padding:20px 0 0;flex-direction:row;gap:8px;align-items:baseline;flex-wrap:wrap}.hero-aside strong{font-size:24px}.hero-aside span{margin:0}.hero-aside small{width:100%;margin-top:0}.search-form{gap:7px}.search-form .button{padding:10px 15px}.search-form input{font-size:16px;padding:10px}.recipe-grid{gap:12px}.recipe-card{padding:17px 15px;border-radius:12px}.recipe-card h3{font-size:18px}.recipe-card .category{margin-bottom:11px}.recipe-card p{font-size:12px}.recipe-card footer{font-size:11px;flex-wrap:wrap}.chips{gap:7px}.chip{padding:7px 13px;font-size:12px}.page-head{align-items:flex-start;gap:18px;flex-wrap:wrap}.page-head h1{font-size:31px}.page-head p{font-size:14px}.detail-layout{grid-template-columns:1fr}.detail-top h1{font-size:30px}.panel{padding:22px 19px}.contact-grid,.form-row{grid-template-columns:1fr}.site-footer{gap:15px;flex-wrap:wrap}.site-footer span{width:100%;margin:0}.actions .button{padding:9px 13px}.list-heading{align-items:flex-start;flex-wrap:wrap}dialog{padding:22px}.hero-aside small{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
h1,h2,h3{overflow-wrap:anywhere}.page-head>div,.detail-top,.moderation-top>div{min-width:0}
