:root{color-scheme:light;--paper:#edf4ef;--card:#fff;--surface:#f6f9f5;--ink:#173c32;--muted:#536e62;--line:#c9dace;--primary:#1e634e;--on-primary:#fff;--soft:#e1efe5;--pale:#dce9df;--accent:#7351a5;--warning:#fff2d7;--warning-ink:#79531c;--focus:#7543ad;--done:#6f8176;--shadow:0 14px 50px #173b321a;--progress:#4b9c73;--radius:12px}
:root[data-theme=dark]{color-scheme:dark;--paper:#101c24;--card:#1a2b32;--surface:#1a2b32;--ink:#edf8f1;--muted:#b5cbbd;--line:#385454;--primary:#b5e9c6;--on-primary:#183b2c;--soft:#253f3c;--pale:#2c4344;--accent:#d3b8f7;--warning:#443b25;--warning-ink:#f2d492;--focus:#d5baff;--done:#a4b9ac;--progress:#9bdfb3;--shadow:0 14px 50px #0004}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:16px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);display:flex;flex-direction:column;overflow:hidden;-webkit-text-size-adjust:100%}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:0;background:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--accent);text-underline-offset:3px}[hidden]{display:none!important}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict;background:var(--paper)}.aurora{position:absolute;display:block;width:100vmax;height:100vmax;border-radius:50%;opacity:.9;will-change:transform}.a1{background:radial-gradient(ellipse,#9cd9bb65 0%,#9cd9bb25 35%,transparent 65%);left:-45vmax;top:-55vmax}.a2{background:radial-gradient(ellipse,#c6b3ea55 0%,#c6b3ea20 35%,transparent 65%);right:-55vmax;top:-15vmax}.a3{background:radial-gradient(ellipse,#edd39e50 0%,#edd39e10 40%,transparent 67%);left:0;bottom:-90vmax}[data-theme=dark] .aurora{opacity:.35}.flow-lines{position:absolute;inset:-20%;background:repeating-radial-gradient(ellipse at 80% 20%,transparent 0 72px,var(--line) 73px 74px,transparent 75px 120px);opacity:.13;transform:rotate(-15deg)}[data-motion=on] .a1{animation:aurora-drift 30s ease-in-out infinite alternate}[data-motion=on] .a2{animation:aurora-drift 38s -15s ease-in-out infinite alternate-reverse}[data-motion=on] .a3{animation:aurora-drift 42s -8s ease-in-out infinite alternate}[data-motion=on] .flow-lines{animation:lines-drift 45s ease-in-out infinite alternate}.page-hidden .aurora,.page-hidden .flow-lines{animation-play-state:paused!important}.topbar{position:relative;z-index:1;height:68px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 clamp(16px,3vw,44px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 75%,transparent)}.brand{font:bold 31px/1 Georgia,serif;display:flex;align-items:center;gap:10px;padding:0}.brand span{font-size:22px}.top-actions{display:flex;gap:7px}.icon-button{height:44px;width:44px;min-width:44px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;font-size:20px;background:color-mix(in srgb,var(--card) 45%,transparent)}.icon-button:hover{background:var(--soft)}#save-status{margin-left:auto;font-size:11px;color:var(--muted);text-align:right;max-width:260px}#save-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#bb9756;margin-right:7px}#save-status[data-ok=true]:before{background:#65a779}#app{position:relative;z-index:1;flex:1;min-height:0;padding:15px clamp(16px,3vw,44px) 18px;max-width:1680px;width:100%;margin:0 auto}.screen{height:100%;min-height:0}.catalog-screen{display:flex;flex-direction:column}.screen-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;flex-shrink:0}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);font-weight:650}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.9px;line-height:1.2;margin:5px 0 0}h1>span{font-size:13px;font-weight:500;vertical-align:middle;color:var(--muted);letter-spacing:0;margin-left:8px}h2{font-size:19px;letter-spacing:-.4px}h3{font-size:14px}.catalog-actions{display:flex;gap:10px}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:11px 17px;border-radius:9px;font-size:13px;font-weight:600;white-space:nowrap;border:1px solid transparent}.primary-button{background:var(--primary);color:var(--on-primary)}.secondary-button{background:color-mix(in srgb,var(--card) 60%,transparent);border-color:var(--line)}.secondary-button:hover{background:var(--soft)}.danger-button{color:var(--warning-ink);border-color:var(--line);font-size:22px;min-width:46px;padding:6px 10px}.text-button{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;padding:8px 0}.catalog-tools{display:flex;gap:12px;align-items:center;flex-shrink:0;margin:10px 0 5px}.search-wrap{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card) 40%,transparent);padding:0 13px;flex:1;min-width:0}.search-wrap>span{font-size:25px;color:var(--muted)}.search-wrap input{width:100%;min-width:0;height:47px;background:none;border:0;outline:0;font-size:16px}.search-wrap input::placeholder{color:var(--muted)}.search-wrap:focus-within{outline:2px solid var(--focus);outline-offset:2px}.catalog-tools .secondary-button{font-weight:500}.catalog-tools [aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.filters{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;padding:6px 0 12px}.filters button{font-size:12px;min-height:42px;padding:6px 15px;border-radius:8px;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--soft);color:var(--ink);font-weight:650}.name-grid{--columns:4;flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));grid-auto-rows:52px;gap:8px 16px;align-content:start}.flavour-name{border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:7px;line-height:1.2;font-size:14px;font-weight:600;background:color-mix(in srgb,var(--card) 24%,transparent);transition:background .15s,transform .15s;border-left:3px solid transparent;border-radius:0}.flavour-name>span:first-child{overflow-wrap:anywhere}.flavour-name:hover,.flavour-name:active{background:var(--soft);transform:translateX(2px)}.flavour-name.in-progress{border-left-color:var(--flavour);background:color-mix(in srgb,var(--flavour) 12%,var(--card))}.name-verified{color:var(--primary);font-size:15px}.name-active{font-size:8px;color:var(--primary)}.catalog-pager{flex-shrink:0;min-height:58px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.catalog-pager>div{display:flex;align-items:center;gap:14px}.catalog-pager button{padding:6px 15px;font-size:18px;min-height:44px}.empty{grid-column:1/-1;padding:22px 0;color:var(--muted);font-size:14px}#import-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--warning);color:var(--warning-ink);padding:8px 12px;font-size:12px;flex-shrink:0}.prep-screen #detail{height:100%;min-height:0;display:flex;flex-direction:column}.prep-heading{display:flex;align-items:center;gap:20px;min-height:77px;flex-shrink:0;padding:3px 0 13px}.back-button{border:1px solid var(--line);border-radius:9px;padding:8px 14px;font-size:14px;white-space:nowrap}.prep-name{flex:1;min-width:0}.prep-name h1{font-size:27px;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prep-name>span{font-size:12px;color:var(--muted)}.prep-actions{display:flex;align-items:center;gap:8px}.prep-actions button{min-height:46px}.prep-actions [data-info]{min-width:44px;padding:8px;font-size:21px}.prep-subbar{flex-shrink:0;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:45px;font-size:11px;color:var(--muted)}.prep-subbar>strong{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap}.prep-subbar .text-button{margin-left:auto}.prep-progress{height:4px;flex:1;max-width:230px;background:var(--pale);border-radius:2px;overflow:hidden}.prep-progress>span{display:block;height:100%;background:var(--primary);transition:width .3s}.workbench{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr);gap:30px;flex:1;min-height:0;padding-top:15px}.visual-pane{min-width:0;min-height:0;overflow:auto;padding:0 17px 0 0;scrollbar-width:thin}.ingredients-pane{min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:30px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;flex-shrink:0;border-bottom:1px solid var(--line)}.list-heading h2{margin:0;font-size:17px}.switch{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer}.switch input{width:20px;height:20px;accent-color:var(--primary)}.ingredient-list{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding-right:10px;overscroll-behavior:contain}.ingredient{min-height:57px;padding:10px 5px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:0}.ingredient:hover{background:color-mix(in srgb,var(--soft) 60%,transparent)}.ingredient input{appearance:none;-webkit-appearance:none;width:27px;height:27px;border:1.5px solid var(--muted);border-radius:7px;flex-shrink:0;display:grid;place-items:center;cursor:pointer;margin:0;background:color-mix(in srgb,var(--card) 50%,transparent)}.ingredient input:checked{background:var(--primary);border-color:var(--primary)}.ingredient input:checked:after{content:'✓';font-size:20px;line-height:1;color:var(--on-primary)}.ingredient-text{flex:1;font-size:15px;min-width:0;overflow-wrap:anywhere}.ingredient-text small{display:block;font-size:10px;color:var(--muted);margin-top:3px;line-height:1.4}.qty{font-size:20px;font-weight:650;letter-spacing:-.4px;white-space:nowrap;font-variant-numeric:tabular-nums}.qty small{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px}.ingredient.done .ingredient-text{text-decoration:line-through;color:var(--done)}.ingredient.done .qty{color:var(--done)}.ingredient.just-added input{animation:check-pop .3s ease-out}.finish-heading{font-size:10px;letter-spacing:1.4px;font-weight:600;color:var(--muted);margin:18px 0 3px}.list-footer{display:flex;justify-content:space-between;gap:15px;min-height:48px;align-items:center;flex-shrink:0}.phone-work-tabs{display:none}.complete{padding:25px 0;font-size:15px}.unknown-dose{font-size:11px;max-width:90px;white-space:normal;text-align:right;color:var(--warning-ink);display:block}.composition{border-top:1px solid var(--line);margin:16px 0}.composition summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-size:13px}.composition summary strong{white-space:nowrap}.composition-bar{display:flex;height:17px;gap:3px;overflow:hidden;border-radius:6px;margin:10px 0 18px}.composition-bar span{min-width:2px}.composition-legend>div{display:grid;grid-template-columns:10px 1fr 45px 70px;gap:8px;align-items:center;font-size:12px;padding:5px 0}.composition-dot{width:8px;height:8px;border-radius:50%}.composition-legend strong,.composition-legend small{text-align:right}.composition-legend small{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:17px;background:var(--card);color:var(--ink);padding:24px;max-width:680px;width:calc(100% - 26px);max-height:90dvh;box-shadow:var(--shadow);animation:dialog-in .2s ease-out}dialog::backdrop{background:#132721a6}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;top:-24px;background:var(--card);padding-bottom:17px;z-index:3}.modal-head h2{font-size:23px;margin:0}#modal-body{font-size:14px;color:var(--muted);line-height:1.7}#modal-body strong{color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.source-image{display:block;width:100%;margin-bottom:20px;border-radius:8px}.summary-row,.trash-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.summary-row strong{white-space:nowrap}.trash-row>span{overflow-wrap:anywhere}.warning{padding:12px;background:var(--warning);color:var(--warning-ink);border-radius:9px}.import-row{display:flex;align-items:center;gap:12px;min-height:48px;font-size:13px}.import-row input{width:21px;height:21px;accent-color:var(--primary)}.editor-modal{max-width:900px}.editor-notice{font-size:12px;line-height:1.6;margin:0 0 18px}.recipe-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.recipe-meta>label:first-child{grid-column:1/-1}.recipe-meta label,.editor-row label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:6px;min-width:0}.recipe-meta input,.recipe-meta select,.editor-row input:not([type=checkbox]),.editor-row select{font-size:16px;width:100%;min-height:47px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface);color:var(--ink);min-width:0}.editor-row input:disabled{opacity:.5}.editor-row{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:13px;margin:0;min-width:0}.editor-row legend{font-size:11px;padding:0 7px;color:var(--muted);font-weight:600}#editor-rows{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-bottom:17px}.edit-name{display:flex;align-items:flex-end;gap:10px}.edit-name>label{flex:1}.delete-row{color:var(--warning-ink);background:var(--warning);border-color:transparent}.edit-dose{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.edit-options{display:flex;gap:0 16px;flex-wrap:wrap;margin-top:8px}.edit-options label,.verify-recipe{flex-direction:row;display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;cursor:pointer}.edit-options input,.verify-recipe input{width:21px;height:21px;accent-color:var(--primary);margin:0;flex-shrink:0}.edit-material{margin-top:12px}.add-ingredient{width:100%;border-style:dashed;background:var(--soft)}.verify-recipe{font-size:13px;margin:14px 0;background:var(--soft);padding:9px 13px;border-radius:8px}.editor-uncertain{display:inline-block;background:var(--warning);color:var(--warning-ink);font-size:11px;padding:3px 7px;border-radius:4px}.editor-actions{position:sticky;bottom:-24px;background:var(--card);padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;z-index:3}.editor-actions>div{display:flex;gap:10px;margin-left:auto}.editor-error{font-size:12px;color:var(--warning-ink)}.editor-error:empty{display:none}.editor-actions .editor-error{flex-basis:100%;background:var(--warning);border-radius:8px;padding:10px;margin:0}.editor-actions .text-button{font-size:11px}#toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);max-width:90vw;border-radius:12px;background:var(--primary);color:var(--on-primary);padding:13px 20px;font-size:13px;box-shadow:var(--shadow);opacity:0;transition:.2s;pointer-events:none;z-index:20;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes aurora-drift{from{transform:translate3d(-7%,-4%,0) rotate(-10deg) scale(1)}to{transform:translate3d(15%,12%,0) rotate(20deg) scale(1.1)}}@keyframes lines-drift{from{transform:translate3d(-2%,0,0) rotate(-15deg)}to{transform:translate3d(5%,3%,0) rotate(-9deg)}}@keyframes check-pop{0%{transform:scale(.8)}60%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.workbench{grid-template-columns:minmax(265px,.85fr) minmax(340px,1.15fr);gap:22px}.ingredients-pane{padding-left:22px}.visual-pane{padding-right:5px}.prep-name h1{font-size:24px}.prep-heading{gap:14px}.name-grid{gap:8px 12px}.flavour-name{font-size:13px}.prep-subbar{gap:16px}}
@media(max-width:760px){.topbar{height:62px;padding:0 13px;gap:8px}.brand{font-size:29px;gap:7px}.brand span{font-size:19px}.top-actions{gap:5px}.icon-button{width:42px;min-width:42px;height:44px}#save-status{font-size:0;margin-left:auto;max-width:10px}#save-status:before{margin:0;width:6px;height:6px}#app{padding:11px 14px 9px}.screen-heading{min-height:88px;gap:12px;align-items:center}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:25px;letter-spacing:-.6px}.catalog-actions{gap:6px}.catalog-actions .primary-button{font-size:12px;padding:9px 10px}.catalog-actions .secondary-button{font-size:11px;padding:9px 8px}.catalog-tools{gap:7px;flex-wrap:wrap;margin:8px 0 3px}.search-wrap{flex-basis:100%;height:46px}.catalog-tools>.secondary-button{flex:1;min-height:42px;font-size:11px;padding:8px}.filters{padding:4px 0 10px;gap:1px;flex-wrap:nowrap;justify-content:space-between}.filters button{padding:5px 8px;font-size:11px;min-height:42px}.name-grid{gap:8px 11px}.flavour-name{padding:7px 9px;font-size:13px}.catalog-pager{min-height:55px;font-size:11px}.catalog-pager>div{gap:12px}.catalog-pager button{min-height:44px}.prep-heading{gap:10px;min-height:74px;padding:1px 0 10px}.back-button{font-size:18px;padding:8px 10px}.back-button span{display:none}.prep-name h1{font-size:21px;letter-spacing:-.5px}.prep-name>span{font-size:10px}.prep-actions{gap:5px}.prep-actions .primary-button{padding:8px 10px;font-size:19px;min-width:44px}.prep-actions .primary-button>span{display:none}.prep-actions .secondary-button{padding:8px;min-width:42px;font-size:19px}.danger-button{font-size:22px;min-width:42px}.prep-subbar{gap:10px;font-size:10px;min-height:43px}.prep-subbar>strong{font-size:10px}.prep-progress{max-width:none;min-width:15px}.prep-subbar .text-button{font-size:10px}.phone-work-tabs{display:flex;gap:8px;min-height:48px;flex-shrink:0;margin:8px 0 0}.phone-work-tabs button{flex:1;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.phone-work-tabs button[aria-pressed=true]{border-color:var(--primary);color:var(--ink);font-weight:650;background:color-mix(in srgb,var(--soft) 50%,transparent)}.workbench{display:block;padding-top:9px;min-height:0}.visual-pane{display:none;padding:0;height:100%;overflow:auto}.ingredients-pane{height:100%;border:0;padding:0}.workbench.show-visual .visual-pane{display:block}.workbench.show-visual .ingredients-pane{display:none}.list-heading{min-height:44px}.list-heading h2{font-size:16px}.ingredient{min-height:61px;gap:12px;padding:10px 3px}.ingredient-text{font-size:15px}.ingredient-text small{font-size:10px}.ingredient input{width:28px;height:28px}.qty{font-size:21px}.ingredient-list{padding-right:4px}.list-footer{min-height:46px;gap:10px}.list-footer .text-button{font-size:10px}.switch{font-size:11px}.prep-screen .jug-mini{right:12px;bottom:65px;width:105px}.prep-screen .jug-mini .jug-svg{width:94px}.editor-modal{padding:18px 15px;max-height:94dvh}.modal-head{top:-18px}.modal-head h2{font-size:20px}.editor-actions{bottom:-18px;gap:9px;padding-top:12px}.editor-actions>div{width:100%;display:grid;grid-template-columns:1fr 1.3fr}.editor-actions .text-button{min-height:44px;font-size:12px}.editor-actions .primary-button{font-size:12px}.recipe-meta{grid-template-columns:1fr;gap:12px}.recipe-meta>label:first-child{grid-column:auto}#editor-rows{grid-template-columns:1fr}.editor-notice{font-size:11px}#import-banner{font-size:10px;gap:8px;padding:7px 9px}#import-banner button{white-space:normal;font-size:10px;padding:7px;line-height:1.3}.modal-actions .primary-button,.modal-actions .secondary-button{font-size:12px;padding:10px 12px}}
@media(max-width:390px){.brand span{display:none}.screen-heading{gap:7px}.catalog-actions .secondary-button{font-size:10px;padding:7px}.catalog-actions .primary-button{font-size:11px;padding:8px}.screen-heading h1{font-size:23px}.screen-heading h1 span{font-size:11px;margin-left:4px}.prep-actions [data-info]{display:none}.prep-name h1{font-size:20px}.prep-subbar{gap:8px}.prep-subbar>span{max-width:95px;line-height:1.3}}
[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.aurora{will-change:auto}}
.jug-visualizer{margin:20px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--surface),var(--soft));--jug-mark:#49677d}[data-theme=dark] .jug-visualizer{--jug-mark:#b8ceda}.jug-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 19px 0}.jug-heading h3{font-size:14px;margin:0;font-weight:650}.jug-heading h3 span{font-size:11px;color:var(--muted);font-weight:500;margin-left:5px}.jug-mode{font-size:11px;color:var(--muted);display:block;margin-top:3px}.jug-photo{font-size:11px;display:flex;align-items:center;min-height:44px;white-space:nowrap;color:var(--accent)}.jug-stage{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(95px,1fr);align-items:center;padding:0 18px 4px 4px;gap:5px}#jug-main-graphic{min-width:0;scroll-margin-top:70px}.jug-svg{display:block;width:100%;height:auto;max-height:335px;overflow:visible;color:var(--ink)}.jug-graduations text{fill:var(--jug-mark,#708b99)}.jug-graduations path{stroke:var(--jug-mark,#708b99)}.jug-side{display:flex;flex-direction:column;gap:18px;min-width:0;padding-right:3px}.jug-side>div{display:flex;flex-direction:column;gap:5px}.jug-side small{font-size:10px;color:var(--muted)}.jug-side strong:not(.jug-added-count){font-size:16px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;line-height:1.4}.jug-added-count{font-size:27px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.7px}.jug-added-count span{font-size:10px;letter-spacing:0;font-weight:500;color:var(--muted);display:block;margin-top:6px}.jug-materials{display:grid;grid-template-columns:1fr 1fr;gap:12px 17px;padding:15px 19px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 45%,transparent)}.jug-materials>div{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;column-gap:7px;font-size:11px;color:var(--muted)}.jug-materials strong{grid-column:2;font-size:12px;color:var(--ink);font-weight:600;overflow-wrap:anywhere}.material-dot{width:7px;height:7px;border-radius:50%}.material-liquid{background:#88bdcf}.material-powder{background:#b8ab80}.material-paste{background:#c19b6a}.material-pieces{background:#876649}.jug-controls{display:flex;gap:9px;padding:14px 19px 3px}.jug-controls button{flex:1;min-height:44px;font-size:12px;padding:10px 12px}.jug-controls button:disabled{opacity:.45;box-shadow:none;transform:none}.jug-controls .primary-button span{font-size:19px;vertical-align:middle;margin-right:5px}.jug-caption{font-size:10px;color:var(--muted);line-height:1.7;margin:10px 19px 16px}.jug-mini{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:18px;width:144px;border:1px solid var(--line);background:var(--card);border-radius:15px;box-shadow:0 10px 45px #0003;z-index:7;--jug-mark:#78909f}.jug-mini[hidden]{display:none!important}.jug-mini-open{display:block;padding:10px 0 9px;width:100%;border-radius:14px}.jug-mini-open .jug-svg{width:132px;margin:0 auto}.jug-mini-open>span{display:block;font-size:10px;color:var(--muted);margin-top:-7px}.jug-mini-close{position:absolute;right:0;top:0;width:44px;height:44px;font-size:21px;z-index:1;background:var(--card);border-radius:0 14px 0 14px;color:var(--muted)}.jug-mini .jug-graduations{opacity:.4}.edit-material{margin-top:13px}.jug-layer-new{animation:jug-layer-appear .6s ease-out}.jug-pour{pointer-events:none;animation:jug-stream .75s ease-out both;transform-origin:225px 25px}.jug-pour-dry{animation:none}.jug-pour-dry circle{animation:jug-grain-fall .7s ease-in both}.jug-mixing .jug-liquid-surface{animation:jug-swirl .8s ease-in-out}.jug-mixing .jug-layer{animation:jug-blend .8s ease-out}.jug-layer[data-jug-kind=powder]{filter:none}@keyframes jug-stream{0%{opacity:0;transform:scaleY(.05)}20%{opacity:.8;transform:scaleY(1)}75%{opacity:.7}100%{opacity:0;transform:scaleY(1)}}@keyframes jug-grain-fall{0%{opacity:0;transform:translateY(-20px)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(var(--pour-distance))}}@keyframes jug-layer-appear{from{opacity:.2}to{opacity:1}}@keyframes jug-swirl{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}65%{transform:translateX(6px)}}@keyframes jug-blend{from{opacity:.4}to{opacity:1}}
html[data-motion=off] .jug-pour{display:none}@media(prefers-reduced-motion:reduce){.jug-pour{display:none}.jug-layer,.jug-liquid-surface{animation:none!important}}
@media(min-width:761px){.jug-mini{right:auto;left:max(25px,calc((100vw - 1480px)/2 + 55px))}}
@media(max-width:930px) and (min-width:761px){.jug-stage{grid-template-columns:minmax(0,1.9fr) minmax(86px,1fr);padding-right:12px}.jug-side strong:not(.jug-added-count){font-size:14px}.jug-side{gap:15px}.jug-heading{padding-left:15px;padding-right:15px}.jug-materials{padding:14px 15px;column-gap:12px}.jug-mini{width:130px}.jug-mini-open .jug-svg{width:118px}}
@media(max-width:760px){.jug-heading{padding:15px 15px 0}.jug-heading h3{font-size:14px}.jug-stage{grid-template-columns:minmax(0,2.1fr) minmax(80px,1fr);padding:4px 13px 3px 0;gap:0}.jug-svg{min-height:220px;max-height:300px}.jug-side{gap:16px}.jug-added-count{font-size:25px}.jug-side small{font-size:9px}.jug-side strong:not(.jug-added-count){font-size:14px}.jug-materials{padding:13px 14px;gap:13px}.jug-materials>div{font-size:10px}.jug-materials strong{font-size:12px}.jug-caption{margin:9px 15px 14px;font-size:10px}.jug-controls{padding:13px 14px 3px;gap:8px}.jug-controls button{font-size:11px;padding:10px}.jug-mini{width:126px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.jug-mini-open .jug-svg{min-height:0;width:115px}.jug-mini-open>span{font-size:9px}.jug-added-count span{font-size:9px}.edit-material select{font-size:16px}}
@media(max-width:360px){.jug-stage{grid-template-columns:minmax(0,2fr) minmax(75px,1fr)}.jug-side strong:not(.jug-added-count){font-size:13px}.jug-materials{gap:11px}.jug-heading{gap:8px}.jug-mode{font-size:10px}}
@media(max-width:760px){.jug-stage{grid-template-columns:1fr;padding:0 14px 0;gap:0}.jug-stage .jug-svg{max-height:280px;min-height:245px}.jug-side{display:grid;grid-template-columns:.7fr 1.1fr 1.1fr;align-items:start;gap:11px;padding:0 1px 16px}.jug-side>div{gap:5px}.jug-added-count{font-size:24px}.jug-side small{font-size:10px}.jug-side strong:not(.jug-added-count){font-size:14px}.jug-added-count span{font-size:9px}.jug-materials{font-size:11px}}
/* Flat, split preparation bench: overrides the former stacked card layout. */
.visual-pane .jug-visualizer{margin:0;border:0;background:none;border-radius:0}.visual-pane .jug-heading{padding:0 0 4px}.visual-pane .jug-stage{padding:0;grid-template-columns:minmax(0,2fr) minmax(85px,1fr)}.visual-pane .jug-stage .jug-svg{max-height:clamp(190px,32dvh,340px);min-height:0}.visual-pane .jug-side{display:flex;flex-direction:column;padding:0;gap:15px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:15px}.visual-pane .jug-side small{font-size:10px}.visual-pane .jug-materials{padding:10px 0;background:none;gap:9px 16px;border-bottom:1px solid var(--line)}.visual-pane .jug-controls{padding:10px 0 0}.visual-pane .jug-caption{margin:8px 0;font-size:10px}.visual-pane .jug-mode{font-size:10px}.visual-pane .jug-heading h3{font-size:12px}.visual-pane .jug-materials>div{font-size:10px}.visual-pane .jug-materials strong{font-size:11px}.visual-pane .jug-controls button{font-size:12px}.prep-screen .jug-mini{z-index:5}.editor-modal{border-radius:15px}
@media(min-width:761px){.prep-screen .jug-mini{display:none!important}}
@media(max-width:760px){.visual-pane .jug-stage{grid-template-columns:minmax(0,2.1fr) minmax(87px,1fr)}.visual-pane .jug-stage .jug-svg{max-height:clamp(220px,35dvh,350px);min-height:0}.visual-pane .jug-side strong:not(.jug-added-count){font-size:15px}.visual-pane .jug-materials{gap:12px 18px;padding:12px 0}.visual-pane .jug-controls button{min-height:46px}.visual-pane .jug-caption{font-size:10px}.visual-pane .jug-heading{padding-top:5px}.visual-pane .jug-added-count{font-size:27px}}
@media(min-width:1180px){.ingredient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;align-content:start}.ingredient{min-height:66px;gap:11px;padding:9px 3px}.ingredient-text{font-size:14px}.qty{font-size:19px}.finish-heading,.ingredient-list>.complete{grid-column:1/-1}}
@media(max-width:390px){.prep-actions [data-info]{display:inline-flex}.prep-name{min-width:0}.prep-name h1{font-size:19px}}
/* Full-screen, fixed night workspace with all flavour names visible together. */
html,body{background:#101c24}body{height:100dvh}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}#app{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(12px,2vw,env(safe-area-inset-left));padding-right:max(12px,2vw,env(safe-area-inset-right))}.screen-heading{min-height:57px}.screen-heading h1{font-size:25px;margin:0}.catalog-tools{margin:5px 0 3px}.filters{padding:4px 0 10px;gap:5px}.filters button{min-height:40px;padding:6px 17px}.name-grid{grid-auto-rows:var(--name-row-height,48px);gap:6px 12px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.flavour-name{padding:6px 10px;font-size:13px;line-height:1.25;min-height:44px;overflow-wrap:anywhere}.flavour-name>span:first-child{hyphens:auto}.prep-heading{min-height:68px}.prep-subbar{min-height:43px}
@media(max-width:760px){#app{padding-top:max(7px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.screen-heading{min-height:51px;gap:8px}.screen-heading h1{font-size:21px}.catalog-actions{gap:6px}.catalog-actions .primary-button{min-height:44px;padding:8px 11px;font-size:11px}.catalog-actions .secondary-button{min-height:44px;padding:8px 9px;font-size:11px}.catalog-tools{display:flex;flex-wrap:nowrap;gap:6px;margin:4px 0 1px}.search-wrap{flex:1;flex-basis:auto;height:44px;padding:0 8px;gap:6px}.search-wrap input{height:44px;font-size:16px}.catalog-tools>.secondary-button{flex:0 0 auto;min-height:44px;padding:8px 9px;font-size:10px}.filters{justify-content:flex-start;gap:5px;padding:3px 0 8px}.filters button{font-size:11px;min-height:38px;padding:6px 17px}.name-grid{gap:6px 7px}.flavour-name{font-size:11.5px;padding:5px 7px;min-height:44px}.name-verified{font-size:11px}.name-active{font-size:6px}.prep-heading{min-height:66px}.prep-name h1{font-size:21px}.phone-work-tabs{margin-top:5px;min-height:44px}}
@media(max-width:360px){.screen-heading h1{font-size:19px}.catalog-actions .primary-button{padding:8px 8px;font-size:10px}.catalog-actions .secondary-button{padding:8px 7px;font-size:10px}.catalog-tools>.secondary-button{font-size:9px;padding:8px 7px}.flavour-name{font-size:10.8px;padding:5px 6px}.name-grid{column-gap:5px}}
.flavour-name>span:first-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.recipe-preview{justify-content:space-between;gap:12px}.recipe-preview>span{color:var(--muted);max-width:none}.recipe-preview .primary-button{min-height:44px;min-width:120px;padding:8px 22px}.ingredient.readonly{cursor:default}.ingredient input:disabled{cursor:default;opacity:.5}

.history-detail{display:block;color:var(--muted);font-size:11px;margin-top:5px}#clear-active{font-size:12px;min-height:44px;white-space:nowrap}#clear-active[hidden]{display:none}#clear-active:disabled{opacity:.45}@media(max-width:760px){.catalog-actions{gap:4px}.catalog-actions button{padding:8px 7px!important;font-size:10px!important}.screen-heading h1{font-size:18px}.catalog-tools:has(#clear-active:not([hidden])){flex-wrap:wrap}.catalog-tools:has(#clear-active:not([hidden])) .search-wrap{flex-basis:100%}#clear-active{font-size:11px}}
/* Approved glass finish: retain the existing compact workspace and live data. */
:root[data-theme=dark]{--paper:#061b24;--card:#102f3b;--surface:#123340;--ink:#f3fafb;--muted:#a8c5cc;--line:#aacbd52e;--primary:#72efc4;--on-primary:#052e29;--soft:#254a55;--accent:#b0e5f7;--focus:#9cebdc;--progress:#70f1c3;--glass:linear-gradient(145deg,#b2e4eb25,#87b8d812 50%,#adcddb21);--edge:#c6eaf24d}
html,body{background:#061b24}.ambient{background:radial-gradient(ellipse at 15% 12%,#124249 0%,transparent 58%),radial-gradient(ellipse at 90% 40%,#0b3048 0%,transparent 65%),#061b24}.a1{background:radial-gradient(ellipse,#4bdfc126,transparent 65%)}.a2{background:radial-gradient(ellipse,#469adb24,transparent 65%)}.a3{background:radial-gradient(ellipse,#6cbcd51c,transparent 65%)}.flow-lines{opacity:.025}
button,.ingredient{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .2s ease}button:active:not(:disabled){transform:scale(.975)}
.primary-button,.secondary-button,.danger-button,.icon-button,.back-button,.filters button,.jug-photo{border:1px solid var(--edge);border-radius:16px;background:var(--glass);color:var(--ink);box-shadow:inset 0 1px 1px #e0f9ff24,inset 0 -1px 1px #0003,0 5px 16px #00000016;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);text-decoration:none}.primary-button{border-color:#a5f4df70;background:linear-gradient(135deg,#74edc23d,#65a8d72b);color:#f5fffc}.primary-button:hover,.secondary-button:hover,.back-button:hover{background:linear-gradient(130deg,#78dfbd40,#6daee53b);border-color:#c3eff998}.danger-button{color:#ffbbb8}.back-button{padding:8px 17px}.prep-heading{padding-bottom:10px;border-bottom:1px solid var(--line);gap:20px}.prep-name h1{font-size:30px;letter-spacing:-.7px;font-weight:650}.prep-name>span{color:var(--muted);font-size:14px}.prep-actions{gap:9px}.prep-actions button{min-height:46px}.prep-subbar{padding:9px 0;min-height:52px;border-bottom:1px solid var(--line)}.prep-subbar>strong{font-size:13px}.prep-progress{height:6px;background:#b6dce02b;border-radius:10px;max-width:none}.prep-progress>span{background:linear-gradient(90deg,#6af1bc,#98f9e3);box-shadow:0 0 12px #71efc22b;transition:width .45s cubic-bezier(.2,.8,.2,1)}.workbench{padding-top:20px;gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ingredients-pane{padding-left:28px;border-left-color:var(--line)}.list-heading h2{font-size:25px;font-weight:650;letter-spacing:-.6px}.list-heading{min-height:54px}.ingredient-list{display:flex;flex-direction:column;gap:0}.ingredient{min-height:68px;padding:12px 14px;gap:18px;border:1px solid transparent;border-bottom:1px solid var(--line);border-radius:0;background:none;flex-shrink:0}.ingredient-text{font-size:18px;font-weight:450;line-height:1.35}.ingredient-text small{font-size:11px;color:var(--muted)}.qty{font-size:26px;font-weight:650;letter-spacing:-.5px}.qty small{font-size:15px;color:var(--ink);font-weight:550;margin-left:4px}.ingredient input{appearance:none;-webkit-appearance:none;width:28px;height:28px;min-width:28px;border:1.6px solid #d6edf1c7;border-radius:50%;background:transparent;display:grid;place-content:center;margin:0;box-shadow:inset 0 1px 3px #0002}.ingredient input:checked{border-color:#8ff5d4;background:#74e3bd;color:#073e31}.ingredient input:checked:after{content:'✓';font-size:18px;font-weight:700;line-height:1}.ingredient.done,.ingredient:active:not(.readonly),.ingredient:focus-within:not(.readonly){background:linear-gradient(125deg,#6de2b84d,#64a8de40);border-color:#c2f4ee80;border-radius:16px;box-shadow:inset 0 1px 1px #edffff33,0 3px 20px #0001}.ingredient.done .ingredient-text{text-decoration:none;color:var(--ink)}.ingredient.readonly input:disabled{opacity:.4}.switch{gap:10px;font-size:12px}.switch input{appearance:none;-webkit-appearance:none;width:42px;height:26px;min-width:42px;border-radius:30px;background:#637e8a70;position:relative;margin:0;border:1px solid #d5f6ff33;transition:background .25s}.switch input:after{content:'';position:absolute;width:20px;height:20px;top:2px;left:2px;border-radius:50%;background:#f6ffff;box-shadow:0 2px 5px #0004;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.switch input:checked{background:#59d9ac}.switch input:checked:after{transform:translateX(16px)}
.visual-pane .jug-stage{display:flex;flex-direction:column;gap:0}.visual-pane #jug-main-graphic{width:100%;max-width:480px}.visual-pane .jug-stage .jug-svg{max-height:clamp(210px,40dvh,410px);width:100%;filter:drop-shadow(0 10px 18px #0003)}.visual-pane .jug-side{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px;text-align:center;padding:0 0 14px}.jug-side .jug-added-count{display:none}.visual-pane .jug-side>div{flex-direction:column-reverse;gap:2px}.visual-pane .jug-side>div+div{border-left:1px solid var(--line)}.visual-pane .jug-side strong:not(.jug-added-count){font-size:27px;letter-spacing:-.6px}.visual-pane .jug-side>div:first-of-type strong{color:#9bf6d5}.visual-pane .jug-side small{font-size:12px}.visual-pane .jug-heading h3{font-size:13px;border:1px solid var(--edge);border-radius:13px;padding:8px 12px;background:var(--glass);box-shadow:inset 0 1px 1px #ffffff24}.visual-pane .jug-heading h3 span{font-size:12px;color:var(--ink)}.jug-photo{padding:0 12px}.visual-pane .jug-mode{padding:4px 2px;font-size:10px}.visual-pane .jug-materials{grid-template-columns:repeat(4,minmax(0,1fr));font-size:10px;gap:10px;padding:10px 0}.jug-materials>div{align-content:start}.jug-graduations{--jug-mark:#d0e9f0}.visual-pane .jug-controls button{border-radius:14px}.list-footer{padding-top:12px}.list-footer [data-stop]{width:100%;min-height:48px;border:1px solid var(--edge);background:var(--glass);box-shadow:inset 0 1px 1px #e8faff22;border-radius:17px;text-decoration:none;font-size:15px;font-weight:550;color:var(--ink)}
.search-wrap{background:#badce410;border:1px solid #c2e6f32e;border-radius:14px}.filters button{border-color:transparent;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.filters button[aria-pressed=true],.catalog-tools [aria-pressed=true]{background:linear-gradient(125deg,#77daba40,#72a7da30);color:var(--ink);border:1px solid var(--edge);box-shadow:inset 0 1px 1px #d6fff526}.flavour-name{border:1px solid #cae8ee13;border-radius:12px;background:#b0d5dd06;box-shadow:none;transform:none!important}.flavour-name.in-progress{border-color:#93d4c75c;background:linear-gradient(125deg,#65d5ae2e,#69a6de26);box-shadow:inset 0 1px 1px #e6ffff18}.flavour-name:active{background:linear-gradient(125deg,#72edc249,#84b9e240);border-color:#b8efeb88}.name-active{box-shadow:0 0 9px #79f3c9;border-radius:50%}.name-verified{color:#a2f6d4}
dialog{background:linear-gradient(145deg,#193c48f5,#092430f8);border:1px solid var(--edge);box-shadow:0 30px 100px #0008,inset 0 1px 1px #fff2;border-radius:24px}.modal-head,.editor-actions{background:transparent}dialog::backdrop{background:#0007;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.jug-mini{background:#12333ee8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--edge)}
@media(hover:hover) and (pointer:fine){.flavour-name:hover,.ingredient:not(.readonly):hover{background:linear-gradient(125deg,#6de2b83d,#64a8de30);border-color:#c2f4ee70;border-radius:14px}}
@media(max-width:1100px){.workbench{gap:20px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ingredients-pane{padding-left:20px}.ingredient{gap:12px;padding:10px 8px}.ingredient-text{font-size:16px}.qty{font-size:22px}.prep-name h1{font-size:26px}.visual-pane .jug-materials{grid-template-columns:1fr 1fr}.visual-pane .jug-side strong:not(.jug-added-count){font-size:24px}}
@media(max-width:760px){.prep-heading{gap:10px;min-height:66px;padding-bottom:8px}.prep-name h1{font-size:21px}.prep-name>span{font-size:10px}.back-button{padding:8px 10px}.prep-actions{gap:5px}.prep-actions button{min-width:42px;min-height:44px;border-radius:13px}.prep-subbar{min-height:48px;gap:9px;padding:4px 0}.prep-subbar>strong{font-size:10px}.prep-subbar>span{font-size:10px}.phone-work-tabs button{border-radius:13px 13px 0 0}.phone-work-tabs button[aria-pressed=true]{background:linear-gradient(130deg,#72dfb42b,#6d9ede1c)}.workbench{display:block;padding-top:9px}.ingredients-pane{padding-left:0}.list-heading{min-height:48px}.list-heading h2{font-size:21px}.ingredient{min-height:65px;padding:10px 7px;gap:12px}.ingredient-text{font-size:16px}.qty{font-size:23px}.qty small{font-size:13px}.switch{font-size:11px}.visual-pane .jug-stage .jug-svg{max-height:clamp(190px,36dvh,330px)}.visual-pane .jug-side{padding-bottom:9px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:25px}.visual-pane .jug-materials{grid-template-columns:repeat(4,minmax(0,1fr))}.visual-pane .jug-materials>div{font-size:9px}.visual-pane .jug-materials strong{font-size:10px}.visual-pane .jug-controls{padding-top:8px}.list-footer [data-stop]{font-size:13px;min-height:46px}.screen-heading h1{font-size:18px}.catalog-actions button{border-radius:12px}.flavour-name{border-radius:10px}.prep-screen .jug-mini{bottom:68px}.recipe-preview .primary-button{min-width:112px}}
@media(prefers-reduced-transparency:reduce){.primary-button,.secondary-button,.back-button,.jug-mini,dialog{backdrop-filter:none;-webkit-backdrop-filter:none;background:#183c48}}
/* Reference refinement: directional colour, clearer vessel, quieter information. */
.ambient{background:linear-gradient(132deg,#0b3034 0%,#092b36 35%,#081c2a 70%,#041922 100%)}.ambient:after{content:'';position:absolute;inset:-35%;background:linear-gradient(132deg,transparent 25%,#63dfb00c 35%,#59b5e416 42%,#8580d50d 48%,#d8a7b509 53%,transparent 64%);transform:translate3d(0,0,0);pointer-events:none}.a1{opacity:.65!important;background:radial-gradient(ellipse,#53d5b513,transparent 65%)}.a2{opacity:.8!important;background:radial-gradient(ellipse,#7b95df15,transparent 65%)}.a3{background:radial-gradient(ellipse,#cda0ce0b,transparent 65%)}
.primary-button,.secondary-button,.back-button,.danger-button,.icon-button,.jug-photo{background:linear-gradient(155deg,#e1faff21 0%,#abc6e113 30%,#a5cee50b 58%,#c4d1fa1c 100%);border-color:#d1ecfa59;box-shadow:inset 0 1px 2px #f2fbff42,inset 0 -2px 4px #07172470,0 4px 14px #0002;border-radius:17px}.primary-button:hover,.secondary-button:hover{background:linear-gradient(135deg,#88efc739,#99bcef2d,#c5aad81c)}.ingredient.done,.ingredient:active:not(.readonly),.ingredient:focus-within:not(.readonly),.flavour-name.in-progress{background:linear-gradient(126deg,#5ed0a941 0%,#65aab330 35%,#639bc242 68%,#b0b5de35 100%);border-color:#c2eeef9c;box-shadow:inset 0 1px 2px #fff5,inset 0 -1px 3px #70a8ba20,0 4px 16px #0002}.ingredient.done,.ingredient:active:not(.readonly),.ingredient:focus-within:not(.readonly){border-radius:18px}.ingredient input{border-color:#e5f5f4;border-width:1.4px}.switch{flex-direction:row-reverse}.switch input{box-shadow:inset 0 1px 3px #0002}.prep-progress{order:2}.prep-subbar>strong{order:1;white-space:nowrap;font-size:16px;font-weight:500}.prep-subbar>span{display:none}.prep-subbar>.text-button{order:3}.prep-subbar.recipe-preview>span{display:block}.prep-subbar.recipe-preview .primary-button{order:3}.prep-subbar{gap:22px}.prep-progress{flex:1}.prep-subbar .text-button{font-size:11px;opacity:.8}.prep-name h1{font-weight:650;letter-spacing:-.7px}.back-button{border-radius:17px}.workbench{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:25px}.list-heading h2{font-size:28px}.ingredient-text{font-size:21px}.qty{font-size:28px}.ingredient{min-height:70px}.list-heading{padding:0 12px 8px}.visual-pane .jug-mode{display:none}.visual-pane .jug-heading{padding-bottom:2px}.visual-pane .jug-stage .jug-svg{max-height:clamp(240px,48dvh,490px)}.visual-pane #jug-main-graphic{max-width:490px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:32px;font-weight:650}.visual-pane .jug-side small{font-size:14px}.visual-pane .jug-materials{display:none}.visual-pane .jug-heading h3{background:linear-gradient(145deg,#e8fbff28,#85a8c11a);border-color:#d5f2ff66;box-shadow:inset 0 1px 2px #fff4;font-size:15px;padding:8px 14px}.visual-pane .jug-heading h3 span{font-size:14px}.visual-pane .jug-photo{font-size:10px;min-height:36px;padding:0 10px;opacity:.75}.visual-pane .jug-controls{padding-top:6px}.visual-pane .jug-controls button{min-height:40px;font-size:11px}.visual-pane .jug-caption{font-size:9px;margin:5px 0 0}.visual-pane .jug-side{padding:5px 0 9px}.visual-pane .jug-side>div small{font-size:0}.visual-pane .jug-side>div:first-of-type small:after{content:'aggiunti';font-size:14px}.visual-pane .jug-side>div:last-of-type small:after{content:'mancanti';font-size:14px}.list-footer [data-stop]{font-size:18px;font-weight:500;min-height:52px;background:linear-gradient(155deg,#d6effa32,#8cadc91c 50%,#aec6dc28);box-shadow:inset 0 1px 2px #f4fdff50,inset 0 -1px 4px #0004;border-color:#c5dce975}
@media(hover:hover) and (pointer:fine){.ingredient:not(.readonly):hover,.flavour-name:hover{background:linear-gradient(126deg,#5ed0a947,#65aab332 35%,#639bc244 68%,#b0b5de38);border-color:#c2eeef99;box-shadow:inset 0 1px 2px #fff5,inset 0 -1px 3px #70a8ba20;border-radius:18px}}
@media(min-width:761px) and (max-height:820px){.visual-pane .jug-stage .jug-svg{max-height:43dvh}.visual-pane .jug-side strong:not(.jug-added-count){font-size:27px}.ingredient{min-height:62px}.ingredient-text{font-size:18px}.qty{font-size:25px}.list-heading h2{font-size:25px}}
@media(max-width:1100px) and (min-width:761px){.workbench{gap:18px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.ingredients-pane{padding-left:18px}.ingredient-text{font-size:17px}.qty{font-size:23px}.list-heading h2{font-size:23px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:27px}}
@media(max-width:760px){.workbench{display:block}.prep-subbar{gap:12px}.prep-subbar>strong{font-size:12px}.prep-progress{min-width:30px}.prep-name h1{font-size:22px}.ingredient-text{font-size:17px}.ingredient{min-height:65px}.qty{font-size:24px}.list-heading{padding-left:4px;padding-right:4px}.list-heading h2{font-size:23px}.visual-pane .jug-stage .jug-svg{max-height:clamp(230px,43dvh,420px)}.visual-pane .jug-side strong:not(.jug-added-count){font-size:29px}.visual-pane .jug-heading h3{font-size:14px;padding:7px 12px}.visual-pane .jug-side{padding-bottom:10px}.list-footer [data-stop]{min-height:46px;font-size:15px}.visual-pane .jug-controls button{min-height:44px;font-size:12px}.visual-pane .jug-caption{font-size:9px}.visual-pane .jug-heading{padding-top:5px}.jug-precision-marks{font-smooth:always}}
@media(prefers-reduced-motion:no-preference){.ambient:after{animation:iridescent-drift 32s ease-in-out infinite alternate}@keyframes iridescent-drift{from{transform:translate3d(-3%,-1%,0)}to{transform:translate3d(4%,3%,0)}}}
.visual-pane .jug-side>div small{font-size:14px}.visual-pane .jug-side>div small:after{content:none!important}.ambient:after{background:linear-gradient(132deg,transparent 22%,#57dfa915 32%,#46bddb1e 40%,#8e92dd18 47%,#bd93c313 54%,#d4b98a08 60%,transparent 69%)}
/* Fixed-height bench: fit the content, rather than hiding a scrollable panel. */
.visual-pane,.ingredients-pane,.ingredient-list{overflow:hidden;scrollbar-width:none;scrollbar-gutter:auto}.visual-pane::-webkit-scrollbar,.ingredient-list::-webkit-scrollbar{display:none}.visual-pane{padding-right:0}.visual-pane .jug-visualizer{height:100%;min-height:0;display:flex;flex-direction:column}.visual-pane .jug-heading{flex-shrink:0}.visual-pane .jug-stage{flex:1;min-height:0;display:flex;flex-direction:column}.visual-pane #jug-main-graphic{flex:1;min-height:0;width:100%;max-width:460px;display:flex;align-items:center;justify-content:center}.visual-pane .jug-stage .jug-svg{height:100%;width:100%;min-height:0;max-height:100%;overflow:visible}.visual-pane .jug-side{flex-shrink:0;padding:4px 0 7px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:26px}.visual-pane .jug-side>div small{font-size:12px}.visual-pane .jug-controls{flex-shrink:0;padding-top:5px}.visual-pane .jug-controls button{min-height:40px;padding:6px 10px}.visual-pane .jug-caption{flex-shrink:0;font-size:9px;line-height:1.4;margin:5px 0 0}.list-heading{min-height:43px;flex-shrink:0;padding:0 5px 5px}.list-heading h2{font-size:22px}.ingredient-list{display:grid;grid-template-columns:repeat(var(--ingredient-columns,1),minmax(0,1fr));grid-auto-rows:max-content;gap:0 12px;align-content:start;padding:0;min-height:0}.ingredient{height:var(--ingredient-height,50px);min-height:0;padding:5px 8px;gap:12px}.ingredient-text{font-size:16px}.ingredient-text small{font-size:9px;line-height:1.15}.qty{font-size:23px}.finish-heading{height:24px;min-height:0;margin:0;padding:5px 7px 0;font-size:10px;grid-column:1/-1}.complete{grid-column:1/-1}.list-footer{min-height:45px;flex-shrink:0;padding-top:5px}.list-footer [data-stop]{min-height:40px;font-size:14px;padding:6px 12px}.compact-ingredients .ingredient{gap:8px;padding:4px 5px}.compact-ingredients .ingredient-text{font-size:13px}.compact-ingredients .qty{font-size:18px}.compact-ingredients .qty small{font-size:10px}.compact-ingredients .ingredient input{width:23px;height:23px;min-width:23px}.compact-ingredients .ingredient-text small{font-size:8px}.workbench{padding-top:10px}.prep-heading{min-height:60px}.prep-subbar{min-height:43px;padding:5px 0}.prep-name h1{font-size:25px}.prep-name>span{font-size:11px}.prep-screen .jug-mini{display:none!important}
@media(max-width:760px){.prep-heading{min-height:58px}.prep-name h1{font-size:21px}.prep-name>span{font-size:10px}.prep-subbar{min-height:40px}.phone-work-tabs{min-height:40px;margin-top:3px}.workbench{padding-top:7px}.visual-pane{height:100%;overflow:hidden}.visual-pane .jug-heading{padding-top:0}.visual-pane .jug-heading h3{font-size:12px;padding:5px 10px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:24px}.visual-pane .jug-side{padding:3px 0 6px}.visual-pane .jug-side small{font-size:11px}.visual-pane .jug-controls button{min-height:40px;font-size:11px}.visual-pane .jug-caption{font-size:8px}.ingredient-text{font-size:15px}.qty{font-size:22px}.ingredient input{width:25px;height:25px;min-width:25px}.list-heading{min-height:42px}.list-heading h2{font-size:20px}.compact-ingredients .ingredient-text{font-size:12px}.compact-ingredients .qty{font-size:17px}.compact-ingredients .ingredient{gap:6px;padding:4px 3px}.compact-ingredients .ingredient input{width:21px;height:21px;min-width:21px}.ingredient .qty{flex-shrink:0}.list-footer [data-stop]{min-height:40px;font-size:12px}}
/* Dark inset workspace, with inline tabs on its black rail. */
html,body{background:#000}body{padding:8px;--frame-inset:8px}.ambient{inset:8px;border-radius:25px;background:linear-gradient(135deg,#062026 0%,#031b25 38%,#02111b 72%,#010b13 100%)}#app{border-radius:25px;overflow:hidden;padding-left:max(16px,2vw,env(safe-area-inset-left));padding-right:max(16px,2vw,env(safe-area-inset-right));padding-top:10px;padding-bottom:12px}.ambient:after{inset:-30%;background:linear-gradient(133deg,transparent 20%,#21ce9a08 31%,#47d4c51b 37%,#51b8e126 42%,#8e8add20 47%,#bb87b916 52%,#d1ab850b 57%,transparent 65%);opacity:.9}.ambient .aurora{opacity:.18!important}.flow-lines{display:none}.prep-heading,.prep-subbar{border-color:#99bcc82c}.phone-work-tabs,.filters{background:transparent;margin-left:-8px;margin-right:-8px;border-radius:0;padding-left:8px;padding-right:8px}.phone-work-tabs{gap:0}.phone-work-tabs button,.phone-work-tabs button[aria-pressed=true]{border-radius:0;box-shadow:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.phone-work-tabs button[aria-pressed=true]{color:#ecfff8;border-bottom-color:#84e9c7}.filters button{background:none;box-shadow:none;border:0;border-radius:0}.filters button[aria-pressed=true]{background:none;border:0;border-bottom:2px solid #90efd2;box-shadow:none;border-radius:0}.ingredient:not(.done),.ingredient:not(.done):hover,.ingredient:not(.done):active,.ingredient:not(.done):focus-within{background:none!important;box-shadow:none!important;border-color:transparent;border-bottom-color:#b9d2dc25;border-radius:0}.ingredient.done{background:linear-gradient(128deg,#60d9aa45,#3eaeaf34 38%,#659fcd40 72%,#b0a8d235);border:1px solid #b5e9e7a6;border-radius:16px;box-shadow:inset 0 1px 2px #fff4,inset 0 -1px 3px #0003}.ingredient.done .qty{color:#effff9}.flavour-name:not(.in-progress){background:none;box-shadow:none;border-color:transparent;border-bottom-color:#b9d2dc20}.visual-pane .jug-heading{padding-top:2px;padding-bottom:0}.visual-pane .jug-heading h3{display:inline-block;width:max-content;border-radius:15px;font-size:14px;padding:7px 12px;margin:0;background:linear-gradient(150deg,#d6f4fa25,#a2bbd110);border-color:#e2f6ff65;box-shadow:inset 0 1px 2px #f3fcff45}.visual-pane .jug-heading h3 span{font-size:13px;color:#f3faff;margin-left:3px}.visual-pane .jug-side{padding:8px 0 10px;max-width:460px;align-self:center;gap:0}.visual-pane .jug-side strong:not(.jug-added-count){font-size:32px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.2}.visual-pane .jug-side>div:first-of-type strong{color:#a0f8d7}.visual-pane .jug-side>div:last-of-type strong{color:#f4fafb}.visual-pane .jug-side>div small{color:#a1b9c2;font-size:14px;margin-top:3px}.visual-pane .jug-side>div+div{border-left:1px solid #b1cbd530}.visual-pane .jug-svg{filter:drop-shadow(0 12px 16px #0005)}.visual-pane .jug-stage{padding-top:0}.visual-pane #jug-main-graphic{max-width:470px}.prep-name>span{color:#acbec8}.switch{color:#c9d9df}.list-heading h2{font-weight:650}.text-button{color:#b8cdd5}.prep-subbar>strong{font-weight:500}.prep-progress{background:#afc8df29}.prep-progress>span{box-shadow:0 0 8px #69ebc21a;background:linear-gradient(90deg,#6defbd,#80f5d5)}
@media(max-width:760px){body{padding:5px}.ambient{inset:5px;border-radius:22px}#app{border-radius:22px;padding-left:10px;padding-right:10px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom))}.phone-work-tabs{margin-left:-10px;margin-right:-10px;padding:0 10px}.visual-pane .jug-heading h3{font-size:12px;padding:6px 10px}.visual-pane .jug-heading h3 span{font-size:12px}.visual-pane .jug-side strong:not(.jug-added-count){font-size:28px}.visual-pane .jug-side>div small{font-size:12px}.visual-pane .jug-side{padding:5px 0 8px}.phone-work-tabs button{font-size:12px}.visual-pane #jug-main-graphic{max-width:390px}}
@media(prefers-reduced-motion:reduce){.ambient:after{animation:none!important}}
.visual-pane .jug-stage{justify-content:center}.visual-pane #jug-main-graphic{flex:0 1 auto;height:min(56dvh,500px);max-height:calc(100% - 85px);max-width:520px}.visual-pane .jug-side{margin-top:8px;flex:0 0 auto}@media(max-width:760px){.visual-pane #jug-main-graphic{height:min(53dvh,430px);max-height:calc(100% - 78px)}.visual-pane .jug-side{margin-top:4px}}
/* On phones, ingredients remain visible with a small live vessel at bottom right. */
@media(max-width:760px){.workbench,.workbench.show-visual{display:flex;flex-direction:column;position:relative;gap:0;padding-top:6px}.workbench .ingredients-pane,.workbench.show-visual .ingredients-pane{display:flex;flex:1;min-height:0;height:auto;width:100%;padding:0;border:0;order:0}.workbench .visual-pane,.workbench.show-visual .visual-pane{display:block;flex:0 0 150px;height:150px;width:155px;align-self:flex-end;padding:0;margin-top:5px;order:1;overflow:hidden}.visual-pane .jug-heading{display:none}.visual-pane .jug-visualizer{height:150px}.visual-pane .jug-stage{justify-content:flex-end;padding:0;gap:0}.visual-pane #jug-main-graphic{height:112px;max-height:112px;flex:0 0 112px;width:155px;max-width:155px}.visual-pane .jug-stage .jug-svg{height:112px;max-height:112px;width:155px}.visual-pane .jug-side{margin:0;padding:0 0 3px;width:155px;gap:0}.visual-pane .jug-side strong:not(.jug-added-count){font-size:12px;letter-spacing:-.2px;line-height:1.3}.visual-pane .jug-side>div small{font-size:8px;margin-top:1px}.ingredients-pane .list-footer{position:absolute;bottom:5px;left:0;width:calc(100% - 168px);padding:0;min-height:40px}.ingredients-pane .list-footer [data-stop]{font-size:11px;white-space:normal;line-height:1.3;min-height:44px;border-radius:14px;padding:8px}.ingredient-list{padding-bottom:2px}}
.finish-label{display:none!important}.compact-ingredients .finish-heading{display:none}.compact-ingredients .finish-label{display:block!important}
