:root{
  --bg:#FFFCF6;--panel:#FFF5E7;--panel2:#FFE8CF;--ink:#073F45;--muted:#5b6d6d;
  --accent:#E6533F;--accent2:#F79432;--teal:#3FA7A3;--green:#79A95B;--border:#e7dccd;
  --white:#fff;--shadow:0 14px 40px rgba(7,63,69,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}
button,input{font:inherit} button{cursor:pointer}.wrap{width:min(1120px,calc(100% - 28px));margin:auto}.hero{padding:44px 0 26px;background:linear-gradient(145deg,#fffaf1 0%,#fff5e7 58%,#f5f8ef 100%);border-bottom:1px solid var(--border)}
.kicker{display:inline-flex;gap:8px;align-items:center;font-size:.78rem;letter-spacing:.14em;font-weight:800;text-transform:uppercase;color:var(--accent);background:#fff;border:1px solid #f2d7cf;border-radius:999px;padding:8px 12px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,7vw,4.7rem);line-height:.95;margin:18px 0 14px;max-width:780px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{font-size:clamp(1rem,2.2vw,1.2rem);max-width:700px;color:#435858;margin:0}.meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.pill{border:1px solid #d8e3dc;background:#fff;border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:700}
main{padding:28px 0 60px}.grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:22px;align-items:start}.card{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:20px 22px;border-bottom:1px solid var(--border)}.step{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.card h2{margin:5px 0 3px;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.sub{color:var(--muted);font-size:.93rem;margin:0}.toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.btn{border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:12px;padding:10px 13px;font-weight:800}.btn:hover{border-color:#b9cfc9}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:var(--panel)}.selected-count{margin-left:auto;align-self:center;color:var(--muted);font-size:.88rem}.searchbox{position:relative;margin:16px 22px 6px}.searchbox input{width:100%;border:1px solid var(--border);border-radius:14px;padding:13px 14px 13px 42px;background:#fff;color:var(--ink);outline:none}.searchbox input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(63,167,163,.13)}.searchbox:before{content:"⌕";position:absolute;left:15px;top:7px;font-size:1.45rem;color:var(--muted)}
.categories{padding:10px 14px 18px}.category{border-bottom:1px solid #f0e8dc}.category:last-child{border-bottom:0}.category summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 8px;font-weight:900;cursor:pointer}.category summary::-webkit-details-marker{display:none}.category summary:after{content:"＋";color:var(--teal);font-size:1.05rem}.category[open] summary:after{content:"−"}.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px 15px}.check{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:#fff;min-height:44px;cursor:pointer}.check:hover{background:#fffaf2}.check input{width:18px;height:18px;accent-color:var(--teal);flex:0 0 auto}.star{color:var(--accent2);font-size:.9rem;font-weight:900}
.age-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:18px 22px 22px}.age-option input{position:absolute;opacity:0;pointer-events:none}.age-option span{display:block;border:1px solid var(--border);border-radius:14px;padding:13px 12px;background:#fff;min-height:72px;font-weight:900;transition:.15s}.age-option small{display:block;font-weight:600;color:var(--muted);margin-top:3px}.age-option input:checked+span{border-color:var(--accent);box-shadow:0 0 0 3px rgba(230,83,63,.10);background:#fff8f5}.filter-wrap{padding:18px 22px 22px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid var(--border);background:#fff;border-radius:999px;padding:10px 13px;font-weight:850}.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.notice{margin-top:14px;padding:12px 13px;border-radius:13px;background:#f4f8f4;border:1px solid #dbe8d5;color:#485d52;font-size:.84rem}.results-card{position:sticky;top:14px}.result-controls{padding:16px 18px;border-bottom:1px solid var(--border)}.result-controls input[type=search]{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 12px;margin-bottom:10px}.toggle{display:flex;align-items:flex-start;gap:9px;font-size:.89rem;color:#445b5c}.toggle input{margin-top:3px;accent-color:var(--accent)}.result-summary{padding:14px 18px;background:var(--panel);display:flex;justify-content:space-between;gap:12px;align-items:center}.result-summary strong{font-size:1.2rem}.results{padding:12px;display:grid;gap:10px;max-height:720px;overflow:auto}.recipe{border:1px solid var(--border);border-radius:15px;padding:13px 14px;background:#fff}.recipe.can{border-color:#c8dfcf;background:#fbfefb}.recipe-top{display:flex;justify-content:space-between;gap:10px}.recipe h3{font-size:1rem;margin:0 0 4px;line-height:1.25}.recipe .num{font-size:.75rem;font-weight:900;color:var(--accent);white-space:nowrap}.recipe .mini{font-size:.79rem;color:var(--muted)}.status{display:inline-flex;margin-top:8px;border-radius:999px;padding:5px 8px;font-size:.73rem;font-weight:900;background:#f0f2f2;color:#586465}.status.ok{background:#e7f4e9;color:#35603e}.missing{font-size:.78rem;margin-top:7px;color:#6b5d55}.empty{padding:28px 16px;text-align:center;color:var(--muted)}.footer{border-top:1px solid var(--border);padding:24px 0 34px;color:var(--muted);font-size:.86rem}.footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.lang a{color:var(--ink);font-weight:800;text-decoration:none}.lang a+ a{margin-left:10px}
@media(max-width:840px){.grid{grid-template-columns:1fr}.results-card{position:static}.results{max-height:none}.hero{padding-top:30px}}
@media(max-width:520px){.wrap{width:min(100% - 18px,1120px)}.hero h1{font-size:2.65rem}.chips{grid-template-columns:1fr}.age-grid{grid-template-columns:1fr}.card-head{padding:18px}.searchbox{margin-left:18px;margin-right:18px}.selected-count{width:100%;margin-left:0}.results{padding:9px}.recipe{padding:12px}.meta{gap:7px}.pill{font-size:.79rem}}
