:root{--bg:#fff;--surface:#f5f7f8;--surface-2:#e9eef0;--text:#1a1f24;--muted:#4d5862;--border:#c5ced4;--control-border:#7b8790;--accent:#0a6464;--accent-text:#fff;--accent-soft:#e2f1f1;--error:#b3261e;--error-soft:#fdecea;--warn:#7a4f00;--warn-soft:#fff4dc;--focus:#1a5fd0;--radius:8px;--max:46rem;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121517;--surface:#1b1f22;--surface-2:#252b2f;--text:#e9edf0;--muted:#a9b3bb;--border:#3d474e;--control-border:#6f7c86;--accent:#5ec4c4;--accent-text:#0b1214;--accent-soft:#173233;--error:#ff8a80;--error-soft:#3a1a18;--warn:#f5c56b;--warn-soft:#33290f;--focus:#8ab4ff;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.6}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3{line-height:1.25}h1{margin:.25rem 0 .5rem;font-size:clamp(1.6rem,4vw,2.1rem)}h2{margin:2rem 0 .5rem;font-size:1.35rem}h3{margin:1.5rem 0 .25rem;font-size:1.1rem}.container{max-width:var(--max);margin:0 auto;padding:0 1rem}.skip-link{background:var(--accent);color:var(--accent-text);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:.5rem;left:.5rem}.site-header{border-bottom:1px solid var(--border)}.site-header .container{justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;display:flex}.site-name{color:var(--text);font-weight:700;text-decoration:none}.site-header nav a{color:var(--muted);font-size:.95rem;text-decoration:none}.site-header nav a:hover{text-decoration:underline}main{padding-bottom:3rem}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:1.5rem 0 2rem;font-size:.9rem}.site-footer ul{flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.site-footer a{color:var(--muted)}.breadcrumb{color:var(--muted);margin-top:.75rem;font-size:.875rem}.breadcrumb ol{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";margin-right:.25rem}.breadcrumb a{color:var(--muted)}.lede{color:var(--muted);margin:0 0 1rem}.tool{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.tabs{flex-wrap:wrap;gap:.375rem;margin:0 0 1rem;padding:0;display:flex}.tabs [role=tab]{font:inherit;border:1px solid var(--control-border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;min-height:2.5rem;padding:.4rem .85rem;font-size:.925rem}.tabs [role=tab][aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.panel-intro{color:var(--muted);margin:0 0 .75rem;font-size:.95rem}.field-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:start;gap:.75rem 1rem;display:grid}.field label,.field .label{margin-bottom:.25rem;font-size:.95rem;font-weight:600;display:block}.input-wrap{border:1px solid var(--control-border);background:var(--bg);border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.input-wrap:focus-within{outline:3px solid var(--focus);outline-offset:1px}.input-wrap input,.input-wrap select{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;flex:1;min-height:2.75rem;padding:.5rem .6rem;font-size:1.05rem}.input-wrap input:focus,.input-wrap select:focus{outline:none}.input-wrap .suffix{color:var(--muted);background:var(--surface-2);white-space:nowrap;align-items:center;padding:0 .6rem;font-size:.9rem;display:flex}.field.invalid .input-wrap{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}.hint{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.field-error{color:var(--error);margin:.25rem 0 0;font-size:.875rem;font-weight:600}.field-error:empty{display:none}select.plain{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--control-border);border-radius:6px;width:100%;min-height:2.75rem;padding:.5rem .6rem}.unit-toggle{border:0;min-width:0;margin:0 0 .75rem;padding:0}.unit-toggle legend{margin-bottom:.25rem;padding:0;font-size:.95rem;font-weight:600}.unit-toggle .options{border:1px solid var(--control-border);border-radius:6px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.unit-toggle input{opacity:0;width:1px;height:1px;position:absolute}.unit-toggle label{cursor:pointer;background:var(--bg);align-items:center;min-height:2.5rem;padding:.4rem .85rem;font-size:.925rem;display:flex}.unit-toggle label:not(:first-of-type){border-left:1px solid var(--control-border)}.unit-toggle input:checked+label{background:var(--accent);color:var(--accent-text);font-weight:600}.unit-toggle input:focus-visible+label{outline:3px solid var(--focus);outline-offset:-3px}.result-card{background:var(--bg);border:2px solid var(--accent);border-radius:var(--radius);margin-top:1rem;padding:.85rem 1rem}.result-card h3{color:var(--muted);margin:0 0 .5rem;font-size:1rem;font-weight:600}.result-main{font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:700;line-height:1.2}.result-main small{color:var(--muted);font-size:.95rem;font-weight:500}.result-list{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem 1rem;margin:.75rem 0 0;display:grid}.result-list div{margin:0}.result-list dt{color:var(--muted);font-size:.85rem}.result-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.result-note{background:var(--warn-soft);color:var(--warn);border-radius:6px;margin:.75rem 0 0;padding:.5rem .75rem;font-size:.875rem}.result-note:empty{display:none}.result-error{color:var(--error);margin:0;font-weight:600;display:none}.result-card.has-error .result-error{display:block}.result-card.has-error .result-body{opacity:.35}.result-actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.btn{font:inherit;border:1px solid var(--control-border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;min-height:2.5rem;padding:.4rem .85rem;font-size:.9rem}.btn:hover{background:var(--surface-2)}.btn-link{color:var(--accent);background:0 0;border:0;min-height:auto;padding:.25rem 0;text-decoration:underline}.copy-status{color:var(--muted);align-self:center;font-size:.85rem}.explainer{margin-top:2rem}.explainer table{border-collapse:collapse;width:100%;margin:.5rem 0 1rem;font-size:.95rem;display:block;overflow-x:auto}.explainer th,.explainer td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .6rem}.explainer th{background:var(--surface)}.formula{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;border-radius:6px;padding:.5rem .75rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9rem;overflow-x:auto}.sources li{margin-bottom:.4rem;font-size:.95rem}.sources .used-for{color:var(--muted);font-size:.875rem;display:block}.related ul{padding-left:1.25rem}.reviewed{color:var(--muted);font-size:.875rem}.notice{border-left:4px solid var(--warn);background:var(--warn-soft);color:var(--text);border-radius:0 6px 6px 0;margin:1rem 0;padding:.6rem .9rem}.tool-list{gap:.75rem;padding:0;list-style:none;display:grid}.tool-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.85rem 1rem}.tool-list a{font-size:1.1rem;font-weight:700}.tool-list p{color:var(--muted);margin:.25rem 0 0}.ad-slot{border:1px dashed var(--border);max-width:100%;min-height:280px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;margin:1.5rem auto;font-size:.75rem;display:flex}.ingredient-rows{gap:.6rem;margin:0 0 .75rem;display:grid}.ingredient-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.ingredient-row .remove{min-height:2.75rem}@media (width<=30rem){.ingredient-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding-bottom:.6rem}.ingredient-row .name-field{grid-column:1/-1}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media print{.site-header,.site-footer,.breadcrumb,.tabs,.result-actions,.explainer,.ad-slot,.no-print{display:none!important}.tool{border:0;padding:0}[role=tabpanel][hidden]{display:none!important}}
