@import url('./tokens.css?v=1.3.0');
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4
 * genre: modern-minimal · macrostructure: working calculator · theme: Cobalt, restrained
 * nav: N9 edge-aligned · footer: Ft2 inline · enrichment: none
 * Native fonts deliberately follow the user reference and remain offline. */
*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}button,select,input:not([type=range]){min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-paper)}button{padding:8px 14px;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard)}button:hover{background:var(--color-accent-soft)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary,button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}input,select{padding:8px 12px;max-width:100%;min-width:0}input[aria-invalid=true]{border-color:var(--color-error)}a{color:var(--color-accent);overflow-wrap:anywhere}h1,h2,h3,p{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-size:23px;letter-spacing:-.7px;font-weight:750}h1 span{font-weight:400}h2{font-size:17px;font-weight:650}p+p{margin-top:12px}p{max-width:75ch}.top{background:var(--color-accent);color:var(--color-accent-ink)}.top-inner{max-width:1080px;margin:auto;padding:14px 20px;display:flex;justify-content:space-between;align-items:center}.top button{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent-ink);font-size:14px}.top button:hover{background:var(--color-focus)}main{max-width:1040px;margin:auto;padding:0 16px max(24px,env(safe-area-inset-bottom))}.statusline{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 0 4px;font-size:13px;color:var(--color-muted)}.context-note{font-size:13px;color:var(--color-muted);margin:6px 0 20px}.eyebrow{font-size:12px;letter-spacing:.09em;font-weight:650;display:block;color:var(--color-muted);margin-bottom:8px}.recipe-selection select{width:100%;font-weight:650;font-size:18px;height:52px}.recipe-selection p{margin:8px 0 20px;font-size:14px}.workbench{display:grid;gap:20px}.preparation,.composition{background:var(--color-paper);border:1px solid var(--color-border);border-radius:8px;min-width:0}.preparation>section{padding:20px}.preparation>section+section{border-top:1px solid var(--color-border)}.composition{padding:20px;align-self:start}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.section-head .muted{font-size:13px}.muted{color:var(--color-muted)}.small{font-size:14px;line-height:1.55}.unit{font-family:var(--font-mono);font-size:13px;color:var(--color-muted)}.volume-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center}.volume-controls>button{height:48px;padding:0;font-size:26px}.volume-input{display:flex;align-items:baseline;justify-content:center;gap:8px}.volume-input input{width:100%;max-width:185px;min-width:0;border:0;background:var(--color-bg);font-size:38px;font-weight:600;text-align:right;letter-spacing:-1px;font-variant-numeric:tabular-nums;padding:4px 8px;border-radius:6px;appearance:textfield}.volume-input input::-webkit-inner-spin-button{appearance:none}.volume-input span{font-size:17px;color:var(--color-muted)}input[type=range]{accent-color:var(--color-accent);width:100%;height:32px;margin:14px 0 0;padding:0;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:var(--color-muted);font-size:12px}.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}.presets button{font-size:14px;padding:6px}.segmented{display:flex;gap:0}.segmented button{font-size:14px;border-radius:0}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0}.ingredient{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--color-border)}.ingredient-name{font-weight:550}.ingredient-sub{font-size:12px;color:var(--color-muted);margin-top:3px;max-width:37ch}.ingredient-amount{text-align:right;font-family:var(--font-mono);font-size:18px;font-weight:550;white-space:nowrap}.ingredient-amount small{display:block;font-family:var(--font-body);font-size:12px;font-weight:400;color:var(--color-muted);white-space:normal;max-width:15ch;margin-left:auto}.water-row{display:flex;justify-content:space-between;gap:16px;padding-top:16px}.water-row strong{white-space:nowrap;font-family:var(--font-mono)}#precision-note{margin-top:12px}.method p{margin-top:10px}.composition dl{margin:16px 0}.composition dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--color-border)}.composition dt{font-size:15px}.composition dd{margin:0;font-family:var(--font-mono);font-size:18px;font-variant-numeric:tabular-nums}.composition dl>div:first-child dd{color:var(--color-accent);font-weight:700}.physical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.physical>div{display:flex;flex-direction:column;gap:5px;min-width:0}.physical span,.physical small{font-size:12px;color:var(--color-muted)}.physical strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.physical+ p{margin-top:12px}details{margin-top:20px}summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;font-size:15px;font-weight:550}details p{margin:10px 0}details a{display:inline-block;margin:5px 0}.warning{background:var(--color-warning-bg);color:var(--color-warning);padding:14px 16px;border-left:3px solid var(--color-warning);font-size:14px;margin-top:20px;max-width:none}.error{color:var(--color-error);font-size:14px;margin:8px 0}.notice{background:var(--color-accent-soft);border:1px solid var(--color-accent);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.disclosure{border-top:1px solid var(--color-border);padding-top:4px}.disclosure>summary{font-size:16px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.add-row{display:flex;gap:8px;margin:16px 0}.add-row select{flex:1;min-width:0}#editor label{display:block;font-size:14px;margin:12px 0 6px}#custom-name{width:100%;max-width:500px}.editor-row{padding:12px 0;border-bottom:1px solid var(--color-border)}.editor-line{display:grid;grid-template-columns:minmax(0,1fr) 90px 44px;gap:8px;align-items:center}.editor-line span{font-size:14px}.editor-line input{width:100%}.editor-line button{padding:8px}.salt-ratios{display:flex;gap:12px;flex-wrap:wrap}.salt-ratios input{width:90px}.salt-ratios label{display:flex!important;align-items:center;gap:6px}#local-history{margin-top:16px}footer{border-top:1px solid var(--color-border);margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--color-muted)}[hidden]{display:none!important}
@media(min-width:48rem){main{padding-inline:24px}.top-inner{padding-inline:24px}.recipe-selection{max-width:610px}.workbench{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.preparation>section,.composition{padding:24px}.context-note{margin-bottom:24px}}
@media(max-width:359px){.ingredient{grid-template-columns:minmax(0,1fr)}.ingredient-amount{text-align:left}.ingredient-amount small{display:inline;margin:0 0 0 8px;max-width:none}.section-head{gap:8px}.volume-input input{font-size:32px}.editor-line{grid-template-columns:minmax(0,1fr) 74px 44px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.unverified{color:var(--color-muted);background:var(--color-bg);border-radius:var(--radius-control);padding:8px}.unverified strong{font-weight:400}

.install-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;margin-bottom:12px;border-bottom:1px solid var(--color-border);font-size:14px}.install-bar>span{flex:1}.install-bar>p{flex-basis:100%}.install-bar #dismiss-install{border:0;background:transparent;padding:8px;width:44px;font-size:20px}.recipe-selection{margin-top:20px}.recipe-label{display:flex;align-items:end;justify-content:space-between;gap:12px}.recipe-actions{display:flex;gap:8px}.recipe-actions button{min-height:36px;padding:5px 12px;font-size:13px}.profile{display:flex;gap:6px;flex-wrap:wrap;margin-top:-10px;margin-bottom:20px}.profile span{border:1px solid var(--color-border);border-radius:999px;padding:3px 9px;font-size:12px;color:var(--color-muted);background:var(--color-paper)}#share-status:empty{display:none}#share-status{margin-top:-12px;margin-bottom:18px}#recipe-info .warning{background:none;border:0;padding:0;color:var(--color-muted)}
.substitutions{display:grid;gap:10px;padding:0 0 14px;border-bottom:1px solid var(--color-border);margin-bottom:2px}.substitutions>label{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;font-size:14px}.substitutions select{width:100%}.check-control{display:flex;align-items:center;gap:8px;min-height:44px}.check-control input{min-height:24px;width:20px;height:20px;accent-color:var(--color-accent)}
@media(max-width:420px){.substitutions>label{grid-template-columns:1fr;gap:4px}.physical{grid-template-columns:repeat(2,minmax(0,1fr))}.physical .unverified{grid-column:1/-1}.recipe-actions button{padding-inline:10px}}

#print-sheet{display:none}
@media print{
 @page{size:A4;margin:14mm}
 html,body{background:var(--color-paper);color:var(--color-ink);font-size:10pt;overflow:visible}
 body>header,main,body>noscript,body>script{display:none!important}
 #print-sheet{display:block!important;max-width:none;margin:0;padding:0;color:var(--color-ink)}
 #print-sheet>header{border-bottom:3px solid var(--color-accent);padding-bottom:8mm;margin-bottom:8mm}
 #print-sheet>header>p{font-size:8pt;font-weight:700;letter-spacing:.14em;color:var(--color-accent)}
 #print-sheet h1{font-size:25pt;line-height:1.08;margin:2mm 0 4mm;letter-spacing:-.02em}
 #print-sheet>header>div{display:flex;justify-content:space-between;gap:8mm;font-family:var(--font-mono);font-size:9pt;color:var(--color-muted)}
 #print-sheet section{break-inside:avoid;margin:0 0 8mm}
 #print-sheet h2{font-size:10pt;text-transform:uppercase;letter-spacing:.09em;color:var(--color-muted);margin-bottom:3mm}
 #print-sheet table{width:100%;border-collapse:collapse}
 #print-sheet th,#print-sheet td{border-bottom:1px solid var(--color-border);padding:3mm 0;text-align:left;font-size:11pt}
 #print-sheet th{font-weight:500}#print-sheet td{text-align:right;font-family:var(--font-mono);font-weight:650;white-space:nowrap}
 #print-water{margin-top:4mm;text-align:right;font-weight:650}
 .print-composition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}
 .print-composition>div{padding:3mm;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:1mm}
 .print-composition span{font-size:8pt;color:var(--color-muted)}.print-composition strong{font-family:var(--font-mono);font-size:11pt}
 #print-sheet section>p{max-width:none;line-height:1.45}#print-storage{color:var(--color-muted);margin-top:2mm}
 #print-sheet>footer{position:fixed;bottom:0;left:0;right:0;margin:0;padding-top:3mm;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;gap:8mm;font-size:7.5pt;color:var(--color-muted)}
 #print-sheet>footer p{max-width:65%;margin:0}
}
