.recipe-calculator-open{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;border:1px solid var(--gold);border-radius:999px;padding:.72rem .9rem;background:#fff;color:var(--green);font-weight:800;cursor:pointer;box-shadow:0 4px 15px rgba(23,58,42,.12)}
.recipe-library-open{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;border:1px solid var(--green);border-radius:999px;padding:.72rem .9rem;background:var(--green);color:white;font-weight:800;cursor:pointer;box-shadow:0 4px 15px rgba(23,58,42,.16)}
.recipe-library-open>span:first-child{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--gold);color:#172319;font-size:1.05rem}
.recipe-library-open:hover{background:#24543d;transform:translateY(-1px)}
.recipe-calculator-open>span:first-child{display:grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--gold);color:#172319;font-size:1.05rem}
.recipe-calculator-open:hover{background:var(--cream);transform:translateY(-1px)}
.recipe-calculator-dialog{width:min(980px,calc(100vw - 2rem));max-width:none;max-height:min(94dvh,940px);overflow:auto;padding:clamp(1rem,2.5vw,2rem);border:1px solid #c7cec8;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 100px rgba(4,20,12,.4)}
.recipe-calculator-dialog::backdrop{background:rgba(7,22,15,.72);backdrop-filter:blur(3px)}
.recipe-calculator-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.recipe-calculator-head h2{max-width:720px;font-size:clamp(1.85rem,4vw,3rem);color:var(--green)}
.recipe-calculator-intro{max-width:760px;margin:.9rem 0 1.35rem;color:var(--muted)}
.recipe-calc-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.8rem;margin:1rem 0}
.recipe-calc-controls label{display:grid;gap:.35rem;font-weight:700;color:var(--green)}
.recipe-calc-controls input,.recipe-calc-controls select,.recipe-row-name,.recipe-row-percent{width:100%;min-height:46px;padding:.58rem .7rem;border:1px solid #aebbb2;border-radius:7px;background:white;color:var(--ink)}
.recipe-calc-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:1rem 0}
.recipe-calc-actions .button{padding:.7rem 1rem}
.recipe-reset{border:0;background:transparent;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.55rem}
.recipe-calc-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;padding:.9rem 1rem;border-radius:9px;background:#edf3ee}
.recipe-calc-summary div{display:flex;align-items:baseline;gap:.75rem;white-space:nowrap;color:var(--green);font-weight:700}
.recipe-calc-summary strong{font-size:1.3rem;font-variant-numeric:tabular-nums}
.recipe-calc-summary p{margin:0;color:#455149;text-align:right}
.recipe-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.recipe-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left}
.recipe-table th{padding:.7rem;background:#f4f6f3;color:var(--green);font-size:.88rem}
.recipe-table td{padding:.55rem .65rem;border-top:1px solid var(--line);vertical-align:middle}
.recipe-row-percent{max-width:135px;text-align:right;font-variant-numeric:tabular-nums}
.recipe-row-name{min-width:180px}
.recipe-result{display:block;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650;color:#263b2e}
.recipe-remove{width:2.35rem;height:2.35rem;border:1px solid #d4d9d5;border-radius:50%;background:white;color:#5b2929;font-size:1.25rem;line-height:1;cursor:pointer}
.recipe-calc-footer{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.recipe-calc-footer .button{padding:.75rem 1rem}
.recipe-calc-footer span{color:var(--green);font-weight:650}
.recipe-calc-safety{margin:1rem 0 0;padding:.85rem 1rem;border-left:4px solid #c88b1a;border-radius:5px;background:#fff8e9;color:#464b45;font-size:.9rem;line-height:1.55}
.recipe-calculator-dialog :focus-visible{outline:3px solid #c88b1a;outline-offset:2px}
.recipe-library-dialog{width:min(1180px,calc(100vw - 2rem));max-width:none;max-height:min(94dvh,980px);overflow:auto;padding:clamp(1rem,2.5vw,2rem);border:1px solid #c7cec8;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 100px rgba(4,20,12,.4)}
.recipe-library-dialog::backdrop{background:rgba(7,22,15,.72);backdrop-filter:blur(3px)}
.recipe-library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.recipe-library-head h2{max-width:720px;font-size:clamp(1.85rem,4vw,3rem);color:var(--green)}
.recipe-library-intro{max-width:880px;margin:.9rem 0 1.35rem;color:var(--muted)}
.recipe-library-search{display:grid;gap:.4rem;margin:1rem 0;color:var(--green);font-weight:750}
.recipe-library-search input{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid #aebbb2;border-radius:8px;font:inherit}
.recipe-library-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}
.recipe-library-filter{border:1px solid #aebbb2;border-radius:999px;background:#fff;padding:.55rem .8rem;color:var(--green);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.recipe-library-filter[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:white}
.recipe-library-count{min-height:1.4em;margin:.5rem 0;color:var(--muted);font-size:.9rem}
.recipe-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.recipe-library-card{display:flex;flex-direction:column;min-width:0;padding:1rem;border:1px solid #d8dfd9;border-radius:12px;background:#fff;box-shadow:0 5px 20px rgba(23,58,42,.06)}
.recipe-library-card h3{margin:.2rem 0 .5rem;color:var(--green);font-family:Fraunces,Georgia,serif;font-size:1.4rem;line-height:1.2}
.recipe-library-category{align-self:flex-start;margin:0 0 .25rem;padding:.22rem .55rem;border-radius:999px;background:#edf3ee;color:#31553e;font-size:.76rem;font-weight:800}
.recipe-library-summary{margin:.25rem 0 .8rem;color:#505c53;line-height:1.5}
.recipe-library-card h4{margin:.55rem 0 .3rem;color:#31483a;font-size:.92rem}
.recipe-library-ingredients{margin:0;padding-left:1.15rem;color:#38443b;font-size:.9rem;line-height:1.5}
.recipe-library-method{margin:.65rem 0 0;padding-left:1.25rem;color:#38443b;font-size:.9rem;line-height:1.5}
.recipe-library-note{margin:.65rem 0 0;padding:.55rem .65rem;border-radius:7px;background:#fff8e9;color:#51482f;font-size:.83rem;line-height:1.45}
.recipe-library-card-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:auto;padding-top:1rem}
.recipe-library-card-actions a,.recipe-library-card-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--green);border-radius:999px;padding:.5rem .8rem;background:white;color:var(--green);font:inherit;font-size:.86rem;font-weight:750;text-decoration:none;cursor:pointer}
.recipe-library-card-actions a{background:var(--green);color:white}
.recipe-library-empty{grid-column:1/-1;padding:2rem;text-align:center;color:var(--muted)}
.recipe-library-safety{display:grid;gap:.35rem;margin:1.2rem 0 0;padding:.9rem 1rem;border-left:4px solid #c88b1a;border-radius:5px;background:#fff8e9;color:#464b45;font-size:.9rem;line-height:1.55}
.recipe-library-dialog :focus-visible{outline:3px solid #c88b1a;outline-offset:2px}
@media(max-width:1120px){.recipe-calculator-open{padding:.65rem .7rem;font-size:.9rem}}
@media(max-width:900px){.recipe-calculator-open{padding:.55rem .65rem;font-size:.84rem}}
@media(max-width:620px){.herb-library-open{font-size:0;padding:.42rem .48rem}.herb-library-open::before{content:"Herbs";font-size:.72rem}.herb-library-open span{font-size:.65rem}.recipe-calculator-open,.recipe-library-open{font-size:0;padding:.42rem .48rem}.recipe-calculator-open>span:first-child,.recipe-library-open>span:first-child{width:1.2rem;height:1.2rem;font-size:.9rem}.recipe-calculator-dialog,.recipe-library-dialog{width:calc(100vw - .75rem);max-height:96dvh;padding:.9rem;border-radius:12px}.recipe-library-grid{grid-template-columns:1fr}.recipe-library-filter{font-size:.8rem;padding:.48rem .62rem}.recipe-calc-controls{grid-template-columns:1fr 1fr}.recipe-calc-controls label:first-child{grid-column:1/-1}.recipe-calc-summary{align-items:flex-start;flex-direction:column;gap:.25rem}.recipe-calc-summary p{text-align:left}.recipe-table{min-width:0}.recipe-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recipe-table tbody{display:grid;gap:.55rem;padding:.55rem}.recipe-table tr{display:grid;grid-template-columns:1fr 1fr;gap:.4rem .55rem;padding:.65rem;border:1px solid var(--line);border-radius:8px}.recipe-table td{display:grid;gap:.2rem;padding:0;border:0;min-width:0}.recipe-table td::before{content:attr(data-label);font-size:.76rem;font-weight:700;color:var(--muted)}.recipe-table td:first-child,.recipe-table td:last-child{grid-column:1/-1}.recipe-table td:last-child{justify-items:end}.recipe-row-name{min-width:0}.recipe-row-percent{max-width:none}.recipe-calc-safety,.recipe-library-safety{font-size:.84rem}}
