*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif;background:#1c1917;color:#fafaf9;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:720px;margin:0 auto;padding:48px 16px 64px}h1{margin:0 0 4px;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:32px;font-weight:700;color:#fafaf9;letter-spacing:-.02em}.subtitle{margin:0 0 32px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:#a8a29e}.card{background:#292524;border:1px solid #3F3A36;border-radius:12px;padding:24px;margin-bottom:24px}.field{display:flex;flex-direction:column;margin-bottom:16px}.field label{font-family:"Source Sans 3",system-ui,sans-serif;font-size:14px;font-weight:600;color:#fafaf9;margin-bottom:6px}.field input[type=number]{font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.4;height:40px;padding:12px;border:1px solid #3F3A36;border-radius:8px;background:#292524;color:#fafaf9;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}.field input[type=number]:hover{border-color:#a8a29e}.field input[type=number]:focus{outline:none;border-color:#c2410c;box-shadow:0 0 0 3px #c2410c59}.input-with-unit{display:inline-flex;align-items:stretch;border:1px solid #3F3A36;border-radius:8px;overflow:hidden;background:#292524;width:fit-content;height:40px;transition:border-color .15s,box-shadow .15s}.input-with-unit:hover{border-color:#a8a29e}.input-with-unit:focus-within{border-color:#c2410c;box-shadow:0 0 0 3px #c2410c59}.input-with-unit input[type=number]{border:0;border-radius:0;background:transparent;color:#fafaf9;width:110px;height:100%;box-shadow:none}.input-with-unit input[type=number]:hover{border-color:transparent}.input-with-unit input[type=number]:focus{outline:none;background:transparent;box-shadow:none}.input-with-unit .unit{display:flex;align-items:center;padding:0 12px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:400;color:#a8a29e;background:#44403c;border-left:1px solid #3F3A36}.input-hint{display:block;margin-top:4px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:400;color:#a8a29e;font-variant-numeric:tabular-nums}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.summary>div{background:#292524;border:1px solid #3F3A36;border-radius:12px;padding:12px 16px;text-align:center;transition:border-color .2s,box-shadow .2s}.summary>div:hover{border-color:#c2410c;box-shadow:0 0 0 3px #c2410c33}.summary span{display:block;font-family:"Source Sans 3",system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a8a29e;margin-bottom:4px}.summary strong{display:block;font-family:"Source Sans 3",system-ui,sans-serif;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:#fafaf9}.recipe-table{width:100%;table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;background:#292524;border:1px solid #3F3A36;border-radius:12px;overflow:hidden;font-family:"Source Sans 3",system-ui,sans-serif}.recipe-table thead th{text-align:left;padding:12px 16px;background:#44403c;border-bottom:1px solid #3F3A36;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a8a29e}.recipe-table tbody td{padding:12px 16px;border-bottom:1px solid #3F3A36;font-family:"Source Sans 3",system-ui,sans-serif;font-size:15px;font-weight:400;color:#fafaf9}.recipe-table thead th:nth-child(1),.recipe-table tbody td:nth-child(1){width:25%;min-width:88px;text-align:left}.recipe-table thead th:nth-child(2),.recipe-table tbody td:nth-child(2),.recipe-table thead th:nth-child(3),.recipe-table tbody td:nth-child(3),.recipe-table thead th:nth-child(4),.recipe-table tbody td:nth-child(4){text-align:center;width:25%}.recipe-table thead th:nth-child(3):last-child,.recipe-table tbody td:nth-child(3):last-child,.recipe-table thead th:nth-child(2):last-child,.recipe-table tbody td:nth-child(2):last-child{width:37.5%}.recipe-table tbody tr:last-child td{border-bottom:0}.recipe-table tbody td.recipe-table__cell--editable{position:relative;padding:12px 16px;cursor:pointer;transition:background .15s}.recipe-table tbody td.recipe-table__cell--editable:hover{background:#c2410c1a}.cell-edit-trigger{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:0;text-align:center;font:inherit;color:inherit;font-variant-numeric:tabular-nums;cursor:pointer;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-edit-trigger:hover{color:#f5e6d3}.cell-edit-trigger:focus-visible{outline:2px solid #C2410C;outline-offset:-2px}.cell-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:#1c1917;border:2px solid #C2410C;border-radius:0;color:#fafaf9;font:inherit;font-variant-numeric:tabular-nums;text-align:center;outline:none;box-shadow:0 0 0 3px #c2410c59;padding:0 14px;white-space:nowrap}.recipe-table tbody tr.recipe-table__row--edited td{background:#c2410c1a}.recipe-table tbody tr.recipe-table__row--edited td:first-child{border-left:3px solid #C2410C;padding-left:13px}.recipe-table tbody tr.recipe-table__row--edited td:last-child{border-right:3px solid #C2410C;padding-right:13px}.recipe-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:12px;color:#a8a29e}.recipe-actions-hint{flex:1 1 auto;min-width:0;line-height:1.5}.recipe-reset{flex:0 0 auto;background:transparent;border:0;color:#c2410c;font:inherit;font-weight:600;cursor:pointer;padding:6px 8px;margin:-6px -8px;border-radius:6px;transition:background .15s}.recipe-reset:hover{text-decoration:underline}.recipe-reset:focus-visible{outline:2px solid #C2410C;outline-offset:2px}.recipe-deviation{margin:0 0 12px;padding:10px 14px;border-radius:8px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:13px;font-weight:600}.recipe-deviation--under{background:#c2410c1a;color:#fca5a5;border:1px solid rgba(194,65,12,.35)}.recipe-deviation--over{background:#16a34a1a;color:#4ade80;border:1px solid rgba(22,163,74,.35)}@media (max-width: 520px){.row{grid-template-columns:1fr}.summary{grid-template-columns:1fr 1fr}.input-with-unit{width:100%;display:flex}.input-with-unit input[type=number]{width:100%;min-width:0}.recipe-actions{flex-direction:column;align-items:stretch;gap:6px}.recipe-actions-hint{text-align:left}.recipe-reset{align-self:flex-start;padding:8px 10px;margin:0}.card:has(.recipe-table){overflow-x:auto;-webkit-overflow-scrolling:touch}.recipe-table{table-layout:auto;width:max-content;min-width:100%}}
