:root{--ink:#26382e;--muted:#6c756c;--green:#315b42;--sage:#e8eee4;--cream:#f7f5ef;--line:#dedfd4;--orange:#b7693b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--green);background:var(--green);color:white;padding:.72rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;display:inline-block;text-align:center}button:hover,.button:hover{filter:brightness(.94);text-decoration:none}.secondary{background:transparent;color:var(--green)}button.link{padding:0;border:0;background:none;color:var(--green);font-weight:400}.danger{color:#a3392c;background:transparent;border-color:#a3392c}.site-header{background:#fffdf8;border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:750;font-size:1.2rem;letter-spacing:-.4px;white-space:nowrap}.brand-icon{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--green);border-radius:50%;margin-right:8px;font-size:26px}.site-header nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:.9rem}.site-header form{margin:0}main{max-width:1200px;margin:0 auto;padding:32px 24px 70px;min-height:80vh}h1,h2,h3{line-height:1.2}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.5vw,3.7rem);font-weight:500;margin:16px 0 20px;letter-spacing:-1.4px}h2{font-size:1.35rem;letter-spacing:-.5px}h3{font-size:1.3rem}p{margin:0 0 16px}.hero{padding:42px 0 28px;text-align:center}.hero p:last-child{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:1.7px;font-weight:700;color:var(--orange);text-transform:uppercase;margin-bottom:10px}.search{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:16px;align-items:end}.search label{margin:0;font-size:.8rem;color:var(--muted)}label{display:block;font-weight:550;margin-bottom:18px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #cbd0c6;border-radius:7px;background:#fffefb;color:var(--ink);padding:.7rem .8rem;margin-top:7px;min-width:0}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:2px solid #a5bfa6;outline-offset:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a5bfa6;outline-offset:4px}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 18px}.section-bar p,.section-bar span{font-size:.8rem;color:var(--muted);margin:0}.section-bar h2{margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.recipe-card{border:1px solid var(--line);background:#fffdf9;border-radius:14px;overflow:hidden;transition:transform .18s,box-shadow .18s;color:var(--ink)}.recipe-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 24px #26382e0c}.recipe-card img,.placeholder{width:100%;height:190px;object-fit:cover}.placeholder{background:radial-gradient(ellipse at 50% 120%,#ccd7bd,transparent 70%),#e9ecdf;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#789070}.placeholder span{font:64px Georgia}.placeholder small{font-family:Georgia;font-style:italic;font-size:.85rem}.card-copy{padding:22px}.card-copy .eyebrow{font-size:.64rem;letter-spacing:1px}.card-copy h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;min-height:55px;margin:8px 0 20px}.card-copy>p:last-child{font-size:.8rem;color:var(--muted);margin:0;display:flex;justify-content:space-between}.empty{padding:50px;grid-column:1/-1;text-align:center}.back{font-size:.9rem}.recipe-heading{padding:30px 0 24px}.recipe-heading h1{max-width:900px}.actions{display:flex;gap:12px;flex-wrap:wrap}.recipe-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:30px;align-items:start}.paper,.panel{background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:22px}.paper .section-bar{margin-top:0;border-bottom:1px solid var(--line);padding-bottom:20px}.paper p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:16px}.paper .ingredient{background:#f1f3ea;border-left:3px solid #a4b396;padding:9px 14px;margin:0 0 5px}.paper .ingredient+p:not(.ingredient){margin-top:22px}.paper h3{font-family:Georgia,serif;border-bottom:1px solid var(--line);padding:18px 0 10px}.panel h2{margin:0 0 18px}.hint{font-size:.8rem;color:var(--muted);line-height:1.6}.calculator{background:#eaf0e5}.calculator button{width:100%}.calculator #calc-status{font-size:.85rem;color:var(--green)}.calculator .hint{margin-top:16px}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px}.gallery figure{margin:0;max-width:600px}.gallery img{width:100%;height:300px;object-fit:cover;border-radius:14px}.gallery figcaption{font-size:.85rem;color:var(--muted)}.narrow{max-width:660px;margin:20px auto}.wide{max-width:800px}.login{background:#fffdf9;border:1px solid var(--line);padding:40px;border-radius:16px;max-width:480px}.login h1{font-size:2.6rem}.login button{width:100%}.notice{border-radius:8px;background:var(--sage);padding:14px 18px;border:1px solid #bfcebb}.error{background:#f8e7dc;color:#8a3525;border-color:#ebc5b2}.editor-form{background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:26px}.delete-box{padding:20px 0;color:#a3392c}summary{cursor:pointer;font-weight:600}details form{margin-top:20px}.check{display:flex;align-items:center;gap:12px;font-weight:400}footer{border-top:1px solid var(--line);padding:24px max(24px,calc((100vw - 1152px)/2));color:var(--muted);display:flex;justify-content:space-between;font-size:.8rem}.import-hint{margin-top:22px}@media(min-width:900px){.calculator{position:relative}}@media(max-width:900px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-layout{grid-template-columns:minmax(0,1fr)}.site-header{align-items:flex-start}.site-header nav{gap:10px 15px}.search{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.search button{grid-column:1/-1}}@media(max-width:560px){main{padding:20px 16px 45px}.site-header{padding:16px;flex-direction:column;gap:12px}.hero{padding:26px 0 20px}.hero h1{font-size:2.45rem}.search{grid-template-columns:1fr;padding:16px}.recipe-grid{grid-template-columns:1fr;gap:18px}.recipe-card img,.placeholder{height:180px}.card-copy h3{min-height:0}.section-bar{align-items:flex-start;flex-direction:column;gap:8px}.paper,.panel,.editor-form{padding:20px}.login{padding:24px}.gallery img{height:240px}footer{gap:16px}.recipe-heading h1{font-size:2.3rem;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.site-header,footer,aside,.actions,.back,.gallery form{display:none!important}body{background:white}main{padding:0}.recipe-layout{display:block}.paper{border:0;padding:0}.ingredient{background:transparent!important}.gallery img{height:180px;object-fit:contain}h1{font-size:28pt}.notice{display:none}}
.owned-recipe{border-color:#bca8d4;background:#f5f0fa}.recipe-card.owned-recipe .placeholder{background:radial-gradient(ellipse at 50% 120%,#cdbbdc,transparent 70%),#ece3f4;color:#8c6eaa}.recipe-heading.owned-recipe{padding:24px;border:1px solid #bca8d4;border-radius:14px;margin:24px 0}.ownership-badge{display:inline-block;padding:5px 14px;border-radius:30px;background:#e9dcf4;color:#694783;font-weight:600;font-size:.85rem}.recipe-reference{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.publication{border-color:#bca8d4}.publication h2{margin-bottom:12px}.site-header nav{font-size:.8rem;gap:10px 14px}.site-header{flex-wrap:wrap}dialog{border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--ink);padding:24px;width:min(1100px,94vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#172b20b3}.comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.comparison section{min-width:0}.comparison pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;background:#fffdf9;border:1px solid var(--line);border-radius:8px;padding:14px;max-height:300px;overflow:auto}.conflict{border:1px solid var(--line);border-radius:10px;padding:18px;margin:20px 0}.conflict legend{font-size:1.1rem;font-weight:650;padding:0 8px}.conflict-options,.bulk-choices{display:flex;flex-wrap:wrap;gap:12px 24px}.conflict-options label{margin:0}.import-confirmation{margin-bottom:20px}@media(max-width:650px){.comparison{grid-template-columns:1fr}.site-header nav{gap:10px 12px}.bulk-choices button{width:100%}dialog{padding:16px}.conflict{padding:12px}}
.recipe-label{display:inline;padding:.1em .35em;border-radius:4px;font-weight:750;box-decoration-break:clone;-webkit-box-decoration-break:clone}.recipe-label-tipp{background:#f4e6c8;color:#79551b}.recipe-label-info{background:#e0edf3;color:#275d74}.paper .recipe-note{padding:14px 18px;border-left:4px solid;border-radius:0 8px 8px 0;margin:20px 0}.paper .recipe-note-tipp{background:#fcf6e9;border-color:#c79b46}.paper .recipe-note-info{background:#edf5f8;border-color:#6a9bb1}@media print{.paper .recipe-note{break-inside:avoid}.recipe-label{font-weight:750;text-decoration:underline}}
.reference-tools{background:var(--sage);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:22px}.reference-tools h2{font-size:1.1rem;margin:0 0 14px}.reference-tools .hint{margin:12px 0 0}.export-settings{margin-top:28px}.export-settings .actions{margin-bottom:20px}.export-settings input[readonly]{background:var(--cream);font-weight:400}

.recipe-card{background:#edf3e8}.owned-recipe{background:#e5d3f4;border-color:#9562b5}.recipe-card.owned-recipe .placeholder{background:radial-gradient(ellipse at 50% 120%,#b793d3,transparent 70%),#d8bce9;color:#684284}.recipe-heading.owned-recipe{background:#e5d3f4;border-color:#9562b5}.ownership-badge{background:#d4b4ea;color:#532d70}[hidden]{display:none!important}
