:root{--ink:#173d4c;--muted:#59676b;--cream:#fbf8f2;--line:#d9ded7;--sage:#4c6352;--peach:#f2d7c5;--white:#fff;--warn:#793b20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,label,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input{min-width:0}button{transition:background .15s}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--sage)}:focus-visible{outline:3px solid #a04a25;outline-offset:4px}h1,h2,h3,p{margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}[hidden]{display:none!important}.wrap{max-width:1248px;margin:0 auto;padding:0 40px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.brand{display:block;flex:0 0 238px}.brand img{width:238px;height:auto;display:block}.header nav{display:flex;gap:32px;margin-left:auto}.header nav a{font-size:14px;font-weight:600;text-decoration:none;padding:14px 0}.nav-active{border-bottom:2px solid var(--ink)}.header-note{font-size:14px;color:var(--muted);border-left:1px solid var(--line);padding-left:32px}.hero{display:flex;justify-content:space-between;align-items:center;padding:42px 0 34px;gap:24px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:var(--sage);display:flex;align-items:center;gap:8px}.eyebrow>span{width:7px;height:7px;background:var(--sage);border-radius:50%}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:48px;line-height:1.14;letter-spacing:-1.8px;margin:12px 0 16px}.dot{color:#b36743}.intro{color:var(--muted);line-height:1.6}.hero-meta{display:flex;gap:16px;margin-top:20px;font-size:12px;color:var(--muted);font-weight:600}.hero-meta span+span:before{content:"·";margin-right:16px;color:#8b9487}.botanical{width:275px;flex:0 0 275px;height:205px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:24px;align-items:start}.editor{display:grid;gap:20px;min-width:0}.card{background:var(--white);border:1px solid var(--line);border-radius:12px}.settings,.oils-card{padding:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.section-heading>div,.summary-top>div{display:flex;align-items:center;gap:12px}h2{font-size:20px;line-height:1.3;font-weight:600;letter-spacing:-.4px}.step{font-size:12px;color:var(--sage);font-weight:700;letter-spacing:.5px}.micro{color:var(--muted);font-size:12px}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-card{border:1px solid var(--line);border-radius:8px;padding:16px 12px;display:flex;align-items:center;gap:10px;position:relative;min-height:83px}.type-card:has(input:checked){border-color:var(--sage);background:#f3f6f1;box-shadow:inset 0 0 0 1px var(--sage)}.type-card input,.segmented input{position:absolute;opacity:0;width:1px;height:1px}.type-card:has(input:focus-visible),.segmented label:has(input:focus-visible){outline:3px solid #a04a25;outline-offset:3px}.type-card strong{display:block;font-size:15px;font-weight:600}.type-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.type-icon{font-size:27px;line-height:1;color:var(--sage)}.radio-dot{width:14px;height:14px;border:1px solid #879388;border-radius:50%;margin-left:auto;flex-shrink:0}.type-card:has(input:checked) .radio-dot{border:4px solid var(--sage)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin-top:24px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.label-note{font-size:12px;font-weight:400;color:var(--muted)}.field small{display:block;font-size:11px;color:var(--muted);margin-top:6px}input,select{border:1px solid #a6b2ae;background:white;color:var(--ink);border-radius:6px;height:44px;width:100%;padding:10px 12px;font-size:14px}input:hover,select:hover{border-color:#546c61}.input-unit{position:relative}.input-unit input{padding-right:38px}.input-unit>span{position:absolute;right:12px;top:11px;font-size:14px;color:var(--muted);pointer-events:none}.fine-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}.fine-note a{font-weight:600}.inline-note{padding:12px 14px;background:#f2f5f5;border-left:3px solid var(--ink);font-size:13px;margin-top:16px}.mode-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;min-height:44px}.segmented{display:flex;padding:4px;border-radius:7px;background:#f1f3ef;border:1px solid var(--line)}.segmented label{position:relative}.segmented span{display:block;padding:8px 20px;min-height:36px;font-size:13px;font-weight:600;border-radius:4px}.segmented input:checked+span{background:white;box-shadow:0 1px 3px #173d4c1a}.total-field{display:flex;align-items:center;gap:8px}.total-field label{font-size:12px;white-space:nowrap}.total-field label span{color:var(--muted)}.total-field input{width:92px}.oil-picker{display:grid;grid-template-columns:130px 1fr 78px;gap:8px;margin-bottom:20px}.oil-picker input,.oil-picker select{font-size:13px}.secondary{height:44px;border:1px solid #a3b0a7;border-radius:6px;background:white;padding:0 14px;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap}.secondary:hover:not(:disabled){background:#f2f5ef}.text-button{background:none;border:0;min-height:44px;color:var(--sage);font-size:13px;font-weight:600;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:var(--ink)}.oil-table-head,.oil-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 40px;gap:12px;align-items:center}.oil-table-head{font-size:10px;letter-spacing:1px;color:var(--muted);padding:0 0 10px;border-bottom:1px solid var(--line)}.oil-table-head span:nth-child(2){text-align:right}.oil-row{padding:16px 0;border-bottom:1px solid #e9ece7}.oil-name{font-size:14px;font-weight:600}.oil-sap{font-size:11px;color:var(--muted);margin-top:3px}.oil-row input{text-align:right;font-variant-numeric:tabular-nums}.remove-oil{width:44px;height:44px;border:0;background:none;font-size:24px;font-weight:300;color:#6a7776;line-height:1;padding:0}.remove-oil:hover{color:#9d3925;background:#fff1ec;border-radius:6px}.empty-oils{font-size:14px;color:var(--muted);padding:32px 8px;text-align:center;border-bottom:1px solid var(--line)}.oil-total{display:flex;justify-content:space-between;font-size:14px;padding:16px 52px 0 0}.oil-total strong{font-variant-numeric:tabular-nums}.action-bar{display:flex;align-items:center;gap:24px;margin-top:24px}.primary{display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--ink);color:white;border:0;border-radius:6px;height:50px;padding:0 20px;font-weight:600;font-size:14px;flex:1}.primary:hover{background:#285565}.primary span{font-size:22px}.summary{padding:24px;position:sticky;top:24px;border-top:3px solid var(--sage);background:#f7f9f5}.summary-top{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.status{font-size:11px;color:var(--muted);display:block;background:#e9eee6;border-radius:4px;padding:5px 8px}.status.ready{color:#315339;background:#e0ebdb}.summary-intro{font-size:13px;color:var(--muted);margin-top:16px;min-height:40px}.result-main{border-bottom:1px solid var(--line);padding:20px 0}.result-main>span{font-size:13px;font-weight:600}.result-main>div{display:flex;align-items:baseline;gap:8px}.result-main strong{font-size:48px;line-height:1.2;letter-spacing:-1.5px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-main>div>span{font-size:20px;color:var(--muted)}.result-main>small{font-size:11px;color:var(--muted)}.results-secondary{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;gap:16px;border-bottom:1px solid var(--line)}.results-secondary>div+div{border-left:1px solid var(--line);padding-left:16px}.results-secondary span{font-size:12px;color:var(--muted)}.results-secondary strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.5px;overflow-wrap:anywhere}.results-secondary strong span{color:var(--ink);font-size:24px;font-variant-numeric:tabular-nums}.results-secondary small{font-size:13px;color:var(--muted);font-weight:400}.result-details{margin:20px 0 0}.result-details>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:11px}.result-details dt{color:var(--muted)}.result-details dd{margin:0;text-align:right;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.summary-foot{font-size:11px;color:var(--muted);line-height:1.6;margin-top:16px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.result-actions button{font-size:12px;padding:0 6px}.alert{border:1px solid #c3876c;background:#fff4ed;border-radius:8px;padding:16px 20px;color:#783a24;font-size:14px}.alert ul{margin:8px 0 0;padding-left:20px}.alert a{display:block;padding:2px 0}.input-error{border:2px solid #ae5032!important;background:#fff9f5}.result-warnings{background:#fff1e5;border-left:3px solid #a45a35;font-size:12px;color:#783a24;padding:12px;margin-top:16px}.result-warnings p+p{margin-top:8px}.safety{display:flex;gap:16px;background:#f4e9dc;border:1px solid #e6d3bc;padding:24px;border-radius:8px;margin-top:24px;color:#634b36}.safety-icon{flex:0 0 25px;height:25px;border:1px solid #91724f;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:700}.safety h2{font-size:15px;letter-spacing:0;margin-bottom:6px}.safety p{font-size:13px;line-height:1.65}.guide{margin:56px 0 40px}.guide-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:400;margin-top:8px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px}.guide-grid article{border-top:1px solid #a4b0a2;padding-top:16px}.guide-grid article>span{font-size:11px;color:var(--sage);font-weight:700;letter-spacing:1px}.guide-grid h3{font-size:15px;font-weight:600;margin:10px 0 8px}.guide-grid p{font-size:13px;color:var(--muted);line-height:1.75}.data-details{border-block:1px solid var(--line);font-size:14px}.data-details summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:600;list-style:none}.data-details summary::-webkit-details-marker{display:none}.data-details summary>span{font-size:24px;font-weight:400}.data-details[open] summary>span{transform:rotate(45deg)}.data-content{padding-bottom:24px;color:var(--muted)}.data-content p+p{margin-top:16px}.table-scroll{overflow-x:auto;max-height:380px;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}caption{text-align:left;padding-bottom:10px;color:var(--ink);font-weight:600}th,td{border-bottom:1px solid var(--line);padding:10px 12px}th{color:var(--ink);background:#edf1e9}.footer{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);padding-top:28px;padding-bottom:32px}.footer-dot{margin:0 8px;color:#a4b0a2}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:16px;top:-100px;padding:12px 16px;background:white;z-index:100}.skip:focus{top:8px}.print-only{display:none}
/* Smaller explanatory text is promoted to a readable floor without shrinking controls. */
.field small,.type-card small,.fine-note,.oil-sap,.summary-intro,.result-main>small,.result-details>div,.summary-foot,.result-warnings,.guide-grid p,.safety p,.micro,.header nav a,.header-note,.hero-meta,.data-details,.footer,.status{font-size:14px}
.type-card small{font-size:12px}.summary .result-details>div{font-size:12px}.summary-foot,.result-main>small,.status{font-size:12px}.oil-sap,.field small{font-size:12px}
@media(max-width:1080px){.wrap{padding-left:24px;padding-right:24px}.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:20px}.settings,.oils-card,.summary{padding:20px}.header-note{display:none}.type-icon{display:none}.type-card{padding:12px}.oil-picker{grid-template-columns:110px 1fr 68px;gap:6px}.micro{display:none}.botanical{width:230px;flex-basis:230px}.total-field{flex-wrap:wrap;gap:4px}.result-details>div{gap:6px}}
@media(max-width:850px){.workspace{grid-template-columns:minmax(0,1fr)}.summary{position:static}.summary-top{justify-content:space-between}.summary-intro{min-height:0}.result-main{padding:16px 0}.result-main strong{font-size:44px}.summary .result-details>div{font-size:14px}.result-main>small,.summary-foot,.status{font-size:14px}.result-actions button{font-size:14px}.result-details{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.summary-foot{max-width:550px}.header{height:96px}.brand{flex-basis:210px}.brand img{width:210px}.hero{padding-top:32px}h1{font-size:42px}.botanical{width:200px;flex-basis:200px}.type-card small,.oil-sap,.field small{font-size:14px}.type-icon{display:block}.guide-grid{gap:20px}}
@media(max-width:600px){.wrap{padding-left:20px;padding-right:20px}.header{height:88px;gap:12px}.brand{flex:0 1 178px}.brand img{width:100%;max-width:178px}.header nav{gap:16px}.header nav a{font-size:12px}.header nav a:last-child{display:none}.hero{position:relative;padding:28px 0;overflow:hidden}.hero-copy{position:relative;z-index:1}.botanical{position:absolute;right:-25px;top:5px;opacity:.15;width:170px;height:170px}.eyebrow{font-size:11px}h1{font-size:38px;line-height:1.13;max-width:300px;letter-spacing:-1.2px;margin:12px 0}.intro{font-size:14px;max-width:320px}.hero-meta{font-size:11px;gap:8px}.hero-meta span+span:before{margin-right:8px}.settings,.oils-card,.summary{padding:20px 16px}.section-heading{margin-bottom:20px}.section-heading>div{gap:8px}h2{font-size:19px}.section-heading .text-button{font-size:12px}.type-options{grid-template-columns:1fr;gap:10px}.type-card{min-height:70px;padding:12px}.type-card small{font-size:13px}.type-icon{width:24px;text-align:center}.settings-grid{grid-template-columns:1fr;gap:16px;margin-top:20px}.field small,.fine-note{font-size:13px}.field label{font-size:14px}.mode-line{align-items:start;flex-wrap:wrap}.total-field{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}.total-field input{width:140px}.total-field label{font-size:14px}.oil-picker{grid-template-columns:1fr 78px}.oil-picker input{grid-column:1/-1}.oil-table-head,.oil-row{grid-template-columns:minmax(0,1fr) 82px 32px;gap:8px}.oil-name{font-size:14px}.oil-sap{font-size:12px}.remove-oil{width:36px}.oil-row input{padding:10px 8px}.oil-total{padding-right:40px}.action-bar{gap:16px}.primary{gap:16px;padding:0 16px}.result-details{display:block}.summary .result-details>div{font-size:13px}.safety{padding:20px 16px;gap:12px}.safety-icon{flex-basis:22px;height:22px}.guide{margin:36px 0 28px}.guide-heading h2{font-size:26px}.guide-grid{grid-template-columns:1fr;gap:24px}.guide-grid article{padding-top:12px}.guide-grid h3{font-size:16px}.guide-grid p{font-size:14px}.footer{flex-direction:column;gap:4px;font-size:12px}.data-details summary{font-size:14px}.data-details summary>span{flex-shrink:0}.label-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Readable small text and visible control boundaries. */
.type-icon{width:26px;flex:0 0 26px}.type-icon svg{display:block;width:26px;height:26px}
.eyebrow,.step,.micro,.header nav a,.header-note,.hero-meta,.field small,.type-card small,.label-note,.fine-note,.oil-sap,.summary-intro,.result-main>small,.summary .result-details>div,.summary-foot,.result-warnings,.guide-grid article>span,.guide-grid p,.safety p,.footer,.status,.total-field label,.segmented span,.text-button,.section-heading .text-button,.oil-picker input,.oil-picker select,.oil-table-head,.data-content table,.result-actions button{font-size:14px}
.type-card small{font-size:14px}
input,select{border-color:#788b82}.remove-oil{min-width:44px}
@media(max-width:1080px) and (min-width:851px){.type-card{gap:8px}.type-card small{font-size:14px}.type-icon{display:none}}
@media(max-width:600px){.type-card small{font-size:14px}.hero-meta{flex-wrap:wrap;gap:4px 10px}.hero-meta span+span:before{display:none}.hero-meta span{border-left:1px solid #bdc8ba;padding-left:8px}.hero-meta span:first-child{border-left:0;padding-left:0}.oil-table-head{font-size:12px;letter-spacing:.3px}.oil-table-head,.oil-row{grid-template-columns:minmax(0,1fr) 82px 44px;gap:8px}.remove-oil{width:44px}.oil-sap{font-size:14px}.label-note{font-size:14px}}
@media print{body{background:white;font-size:11pt}.wrap{max-width:none;padding:0}.header{height:65px}.brand,.brand img{width:180px}.header nav,.header-note,.hero,.editor,.safety,.guide,.data-details,.footer,.result-actions,.skip{display:none!important}.workspace{display:block}.summary{position:static;background:white;width:100%;border:1px solid #aaa;padding:20px;break-inside:avoid}.summary .result-details>div{font-size:11pt}.result-main strong{font-size:34pt}.summary-intro{min-height:0}.print-only{display:block;margin-top:20px}.print-only table{font-size:11pt}.print-only p{font-size:10pt;margin-top:12px}.result-main,.results-secondary{padding:12px 0}.result-warnings{break-inside:avoid}.print-only caption{font-size:13pt}a{text-decoration:none}}
/* v1.1: plain-language labels and quality chart. */
.technical{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:14px}.technical summary{font-weight:600;min-height:44px;display:flex;align-items:center}.technical p{color:var(--muted);margin-top:4px}
.quality-section{padding:28px;margin-top:24px}.quality-section .section-heading{margin-bottom:16px}.quality-tag{font-size:14px;color:var(--sage);background:#edf2e8;padding:6px 10px;border-radius:4px}.quality-placeholder{color:var(--muted);font-size:15px;padding:24px 0}.quality-lead{font-size:14px;color:var(--muted);max-width:900px;line-height:1.7}.quality-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:24px}.quality-figure{min-width:0}.chart-unit{font-size:14px;color:var(--muted);margin-bottom:12px}.quality-figure iframe{display:block;width:100%;height:270px;border:0;background:transparent}.chart-note{font-size:14px;color:var(--muted);margin-top:8px}.quality-readout{min-width:0}.quality-readout table{font-size:14px;table-layout:fixed}.quality-readout th,.quality-readout td{padding:12px 8px;vertical-align:top;overflow-wrap:anywhere}.quality-readout th:nth-child(1){width:30%}.quality-readout th:nth-child(2){width:15%}.quality-readout th:nth-child(3){width:55%}.quality-readout td:nth-child(2){font-weight:700;font-variant-numeric:tabular-nums}.quality-readout small{font-size:13px;display:block;color:var(--muted);margin-top:6px}.quality-liquid{font-size:14px;padding:16px;background:#edf2f3;border-left:3px solid var(--ink);margin-top:20px}.quality-limits{font-size:14px;color:var(--muted);line-height:1.7;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.quality-method{font-size:14px;margin-top:16px}.quality-method summary{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;font-weight:600}.quality-method p{color:var(--muted);line-height:1.75;margin-top:12px}.quality-section .alert{margin:16px 0}.hero-meta{flex-wrap:wrap}
@media(max-width:1080px){.quality-layout{grid-template-columns:1fr;gap:20px}.quality-figure iframe{height:270px}.settings-grid{grid-template-columns:1fr}.type-options{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.quality-section{padding:20px 16px}.quality-section .section-heading{align-items:start;flex-wrap:wrap}.quality-section h2{font-size:18px}.quality-layout{gap:16px}.quality-figure iframe{height:280px}.quality-readout th,.quality-readout td{padding:10px 6px;font-size:14px}.quality-tag{font-size:14px}.quality-readout small{font-size:14px}.botanical{right:0}.type-options{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}}
@media print{main.wrap{display:flex;flex-direction:column}main>form{order:1}#printRecipe{order:2}.quality-section{order:3;break-before:page;border:0;padding:0;margin:24px 0 0}.quality-section .section-heading{margin-bottom:12px}.quality-section .quality-method{display:none}.quality-section .quality-layout{grid-template-columns:1fr;gap:8px}.quality-section iframe{height:250px}.quality-section .quality-lead,.quality-section .quality-limits,.quality-section td,.quality-section th{font-size:10pt}.quality-section .quality-tag{display:none}.technical{display:none}.quality-placeholder{display:none}}
/* Narrow-screen readout: keep scores intact instead of squeezing table columns. */
@media screen and (max-width:600px){
 .quality-readout table,.quality-readout tbody{display:block;width:100%}
 .quality-readout thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .quality-readout tbody tr{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
 .quality-readout td{display:block;padding:0;border:0;overflow-wrap:normal}
 .quality-readout td:first-child{font-size:15px;font-weight:600}
 .quality-readout td:nth-child(2){white-space:nowrap;font-size:16px}
 .quality-readout td:nth-child(2)::after{content:" puan";font-size:14px;font-weight:400;color:var(--muted)}
 .quality-readout td:nth-child(3){grid-column:1/-1;font-size:14px;line-height:1.65}
}
.quality-print-image{display:none}
@media print{.quality-section iframe{display:none}.quality-print-image[src]{display:block;width:650px;max-width:100%;height:auto}}
