:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--bg-subtle:#faf9fc;--border:#e5e4e7;--accent:#b8860b;--accent-bg:#b8860b1a;--icon-accent:#ff1a8c;--icon-accent-bg:#ff1a8c1f;--danger:#b3261e;--warning:#9a6700;--low-bg:#d32f2f14;--low-border:#d32f2f59;--sans:"Helvetica Neue", Helvetica, Univers, Arial, sans-serif;--mono:ui-monospace, Consolas, monospace;--rule-1:8px;--rule-2:4px;--rule-3:2px;--rule-4:1px;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b8b4bd;--text-h:#f3f4f6;--bg:#16171d;--bg-subtle:#1c1d24;--border:#2e303a;--accent:#e0b04f;--accent-bg:#e0b04f26;--icon-accent:#ff5ba8;--icon-accent-bg:#ff5ba833;--danger:#f2857c;--warning:#e0a838;--low-bg:#f2857c1f;--low-border:#f2857c66}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2{font-family:var(--sans);letter-spacing:-.02em;color:var(--text-h);font-weight:800}h3{font-family:var(--sans);color:var(--text-h);font-weight:700}button{font:inherit}.app-nav{gap:8px;max-width:640px;margin:0 auto;padding:16px;display:flex}.app-nav a{width:44px;height:44px;color:var(--text);border-radius:9999px;justify-content:center;align-items:center;display:flex}.app-nav a.active{background:var(--text-h);color:var(--bg)}.inventory,.recipes,.shopping-list{max-width:640px;margin:0 auto;padding:24px 16px 64px}.shopping-header,.inventory-header,.recipes-header{border-bottom:var(--rule-2) solid var(--text-h);margin-bottom:24px;padding-bottom:12px}.shopping-header h1,.inventory-header h1,.recipes-header h1{margin:0;font-size:34px}.shopping-subtitle{opacity:.7;margin:0 0 16px;font-size:13px}.shopping-line .item-meta{flex-direction:column;gap:2px}.shopping-used-in{opacity:.75;font-style:italic}.inventory-header,.recipes-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.inventory-header h1 a{color:inherit;text-decoration:none}.header-link{color:var(--icon-accent);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:15px;font-weight:700;line-height:1;text-decoration:none}.header-link:hover{text-decoration:underline}.category-section{margin-bottom:32px}.category-header{border-bottom:var(--rule-3) solid var(--text-h);justify-content:flex-start;align-items:center;gap:2px;margin-bottom:8px;padding-bottom:6px;display:flex}.category-header h2{text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:20px}.item-list{margin:0;padding:0;list-style:none}.item-row{border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:10px 8px;display:flex}.item-row.editing{background:var(--bg-subtle);border-radius:0;padding:12px;display:block}.inventory .item-list .item-row{grid-template-columns:minmax(0,1.3fr) minmax(50px,1.1fr) minmax(0,.8fr) auto;align-items:start;gap:4px 12px;display:grid}.item-main{align-items:center;gap:8px;min-width:200px;display:flex}.item-name-col{flex-direction:column;gap:1px;min-width:0;display:flex}.item-name{color:var(--text-h);font-weight:500}.item-amount-col{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-amount{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.item-amount.status-low{color:var(--warning);font-weight:600}.item-amount.status-out{color:var(--danger);font-weight:600}.item-aa{color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.item-aa.unsealed,.item-aa-eff{color:var(--text-h)}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:0;padding:2px 6px;font-size:11px}.item-meta{color:var(--text);opacity:.8;flex-wrap:wrap;gap:2px 10px;min-width:0;font-size:13px;display:flex}.item-notes{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.item-freshness.unknown{font-style:italic}.row-menu{justify-self:end;position:relative}.row-menu-trigger{color:var(--text);opacity:.6;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1}.row-menu-trigger:hover{opacity:1}.row-menu-dropdown{z-index:1;background:var(--bg);border:var(--rule-4) solid var(--text-h);border-radius:0;flex-direction:column;min-width:100px;display:flex;position:absolute;top:100%;right:0;overflow:hidden}.row-menu-dropdown button{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:0;padding:8px 12px;font-size:13px}.row-menu-dropdown button:hover{background:var(--bg-subtle)}.row-menu-dropdown button.danger{color:var(--danger)}.empty{color:var(--text);opacity:.6;padding:10px 8px;font-style:italic}button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}button.link.danger{color:var(--danger)}button{border:var(--rule-4) solid var(--text-h);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:0;padding:6px 12px;font-weight:700}button.secondary{background:0 0}.icon-button{width:32px;height:32px;color:var(--icon-accent);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:24px;font-weight:900;line-height:1;display:flex;position:relative;top:-2px}.icon-button:hover{background:var(--icon-accent-bg)}.item-form{background:var(--bg-subtle);border:var(--rule-4) solid var(--text-h);border-radius:0;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;display:flex}.item-form-row{gap:8px;display:flex}.item-form input,.item-form select{min-width:0;font:inherit;border:var(--rule-4) solid var(--text-h);background:var(--bg);color:var(--text-h);border-radius:0;flex:1;padding:6px 8px}.item-form-checkbox{color:var(--text);align-items:center;gap:6px;font-size:13px;display:flex}.item-form-checkbox input{flex:none;width:auto}.item-form-actions{justify-content:flex-end;gap:8px;display:flex}.import-recipe{margin-bottom:24px}.import-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-actions-sep{color:var(--border)}.import-actions button.link{font-size:14px;font-weight:700}.paste-panel{flex-direction:column;gap:8px;margin-top:8px;display:flex}.paste-panel textarea{font:13px/1.4 var(--mono);border:var(--rule-4) solid var(--text-h);background:var(--bg-subtle);color:var(--text-h);resize:vertical;border-radius:0;padding:8px}.import-status{margin:8px 0 0;font-size:13px}.import-status.ok{color:var(--accent)}.import-status.error{color:var(--danger)}.recipe-list{margin:0;padding:0;list-style:none}.recipe-row{justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;display:flex}.recipe-row-main{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:0 8px;display:flex}.star-toggle{color:var(--text);opacity:.4;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1;position:relative;top:2px}.star-toggle.active{color:var(--accent);opacity:1}.recipe-delete{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.recipe-name-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-name{color:var(--text-h);font-weight:500}.badge.ready{border:1px solid var(--accent);color:var(--accent);background:0 0}.badge.short-badge{background:var(--low-bg);border:1px solid var(--low-border);color:var(--danger);text-transform:none;letter-spacing:normal}.recipe-unmatched{opacity:.6;font-size:12px;font-style:italic}.recipe-style{color:var(--text);opacity:.7;font-size:12px}.recipe-summary{color:var(--text);font-size:13px}.recipe-detail tr.short-row td{background:var(--low-bg)}.recipe-detail tr.short-row td:first-child{box-shadow:inset 2px 0 0 var(--danger)}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.recipes{animation:.2s ease-out slide-in-left}.recipe-page{animation:.2s ease-out slide-in-right}.back-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:4px 0;font-size:14px}.recipe-page-header{align-items:flex-start;gap:8px;margin-bottom:20px;display:flex}.recipe-page-title{flex-direction:column;flex:1;gap:2px;display:flex}.recipe-page-title h1{margin:0;font-size:28px}.recipe-stats{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.stat{flex-direction:column;display:flex}.stat-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.stat-label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:11px}.recipe-detail section{margin-bottom:20px}.recipe-detail h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-h);border-bottom:var(--rule-3) solid var(--text-h);margin:0 0 8px;padding-bottom:6px;font-size:14px}.recipe-detail table{border-collapse:collapse;width:100%;font-size:14px}.recipe-detail td{vertical-align:top;padding:4px 8px 4px 0}.recipe-detail td:first-child{padding-left:8px}.recipe-detail td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.recipe-detail td.dim{color:var(--text);opacity:.75;white-space:nowrap}.ferm-summary{margin:0}.recipe-source{opacity:.6;font-size:12px;font-style:italic}.recipe-actions{margin-bottom:20px}.recipe-not-ready{background:var(--low-bg);border:1px solid var(--low-border);color:var(--text);border-radius:0;margin:0;padding:10px 12px;font-size:13px}.deduct-panel{background:var(--bg-subtle);border:var(--rule-4) solid var(--text-h);border-radius:0;margin-bottom:24px;padding:12px}.deduct-panel h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-h);margin:0 0 10px;font-size:14px}.deduct-panel table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}.deduct-panel th{text-align:left;text-transform:uppercase;letter-spacing:.03em;opacity:.6;border-bottom:var(--rule-4) solid var(--text-h);padding:0 8px 4px 0;font-size:11px}.deduct-panel td{vertical-align:middle;padding:4px 8px 4px 0}.deduct-panel select{font:inherit;border:var(--rule-4) solid var(--text-h);background:var(--bg);color:var(--text-h);border-radius:0;max-width:220px;padding:4px 6px;font-size:13px}.deduct-panel td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.aa-note{opacity:.7;white-space:normal;font-size:11px;font-style:italic}.deduct-panel td.num.short{color:var(--danger);font-weight:600}.deduct-actions{justify-content:flex-end;gap:8px;display:flex}.deduction-history{margin:0;padding:0;list-style:none}.history-entry{border-bottom:var(--rule-4) solid var(--text-h);padding:12px 8px}.history-entry.undone{opacity:.6}.history-entry-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.history-recipe-name{color:var(--text-h);font-weight:500}.history-date{color:var(--text);opacity:.7;white-space:nowrap;font-size:12px}.history-items{color:var(--text);opacity:.85;margin:0 0 8px;padding:0;font-size:13px;list-style:none}.history-undone-note{opacity:.7;margin:0;font-size:12px;font-style:italic}.log-past-brew{margin-bottom:20px}.log-past-brew-form{background:var(--bg-subtle);border:var(--rule-4) solid var(--text-h);border-radius:0;margin-bottom:20px;padding:12px}.log-past-brew-form h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-h);margin:0 0 6px;font-size:14px}.log-past-brew-note{opacity:.7;margin:0 0 10px;font-size:12px}.log-past-brew-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.log-past-brew-table td{padding:3px 8px 3px 0}.log-past-brew-table td.num{white-space:nowrap;align-items:center;gap:6px;display:flex}.log-past-brew-table input[type=number]{width:70px;font:inherit;border:var(--rule-4) solid var(--text-h);background:var(--bg);color:var(--text-h);border-radius:0;padding:4px 6px}
