@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:#f4f2ed;--surface:#e7e4dc;--text-primary:#191917;--text-strong:#050505;--text-muted:#625f58;--icon-secondary:#4e4c46;--divider:#ccc8bd;--progress-tint:#e4e0d6;--accent-heart:#c84b42;--content-width:42rem;--compact-control-size:2.75rem;--page-gutter:1.25rem;--font:"Inter Variable", system-ui, sans-serif;color:var(--text-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--background);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px}:root[data-theme=dark]{--background:#11110f;--surface:#282722;--text-primary:#f0eee8;--text-strong:#fff;--text-muted:#aaa69c;--icon-secondary:#c9c5bb;--divider:#494740;--progress-tint:#22211d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;scrollbar-color:color-mix(in srgb, var(--text-muted) 58%, transparent) transparent;scrollbar-width:thin}@supports selector(::-webkit-scrollbar){*{scrollbar-color:auto;scrollbar-width:auto}}::-webkit-scrollbar{width:.7rem;height:.7rem}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-button{-webkit-appearance:none;background:0 0;width:0;height:0;display:none}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 58%, transparent);background-clip:padding-box;border:.2rem solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}html{background:var(--background);min-height:100%}body{background:var(--background);min-height:100svh;margin:0;font-size:.9rem;transition:color .15s,background-color .15s;position:relative;overflow-x:hidden}button,input,textarea,select{font:inherit}input:not([type=file]),textarea,select{min-width:0;color:var(--text-primary);caret-color:var(--text-strong);background:var(--surface);border:1px solid #0000;border-radius:.8rem;padding:.75rem .85rem;line-height:1.45;transition:border-color .12s,background-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:color-mix(in srgb, var(--text-muted) 76%, transparent);opacity:1}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;touch-action:manipulation;transition:transform .11s,opacity .11s,color .11s,border-color .11s,background-color .11s}button:active:not(:disabled){opacity:.86;transition-duration:55ms;transform:translateY(1px)scale(.98)}:focus-visible{outline:3px solid var(--text-strong);outline-offset:4px}input:not([type=file]):focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-muted) 22%, transparent);outline:0}@media (hover:hover){input:not([type=file]):hover,textarea:hover,select:hover{border-color:var(--divider)}}::selection{color:var(--background);background:var(--text-strong)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::view-transition-old(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:route-fade-out}::view-transition-new(root){animation-name:route-fade-in}:root[data-navigation-direction=back]::view-transition-old(root){animation-name:route-back-out}:root[data-navigation-direction=back]::view-transition-new(root){animation-name:route-back-in}@keyframes route-fade-out{to{opacity:0;transform:translate(-.35rem)}}@keyframes route-fade-in{0%{opacity:0;transform:translate(.35rem)}}@keyframes route-back-out{to{opacity:0;transform:translate(.35rem)}}@keyframes route-back-in{0%{opacity:0;transform:translate(-.35rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}dialog.bottom-dialog{width:min(100%, var(--bottom-dialog-width,34rem));border:0;border-top:1px solid var(--divider);max-width:none;color:var(--text-primary);background:var(--background);margin:auto auto 0;padding:0}dialog.bottom-dialog.compact{--bottom-dialog-width:30rem}dialog.bottom-dialog::backdrop{background:#00000073}:is(html:has(dialog[open]),body:has(dialog[open])){overscroll-behavior:none;overflow:hidden}dialog[open]{overscroll-behavior:contain;max-height:80svh;animation:.14s ease-out dialog-enter;overflow-y:auto}dialog[open]:has(>.drawer-shell){overflow:hidden}dialog[open]>.drawer-shell{max-height:inherit}.drawer-header{z-index:2;background:var(--background);border-bottom:1px solid #0000;flex:none;transition:border-color .14s;position:relative}dialog.drawer-scrolled .drawer-header{border-bottom-color:color-mix(in srgb, var(--divider) 78%, transparent)}dialog.drawer-pulling{transition:none!important}dialog.drawer-settling,dialog.drawer-dismissing{transition:transform .18s cubic-bezier(.4,0,.2,1),opacity .18s!important}dialog.drawer-dismissing{opacity:0;transform:translateY(100%)}dialog[open]::backdrop{animation:.14s ease-out backdrop-enter}@keyframes dialog-enter{0%{opacity:0;transform:translateY(.5rem)}}@keyframes backdrop-enter{0%{background:0 0}}@media (width<=38.99rem){dialog[open]{scrollbar-width:none;transition:max-height .22s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1)}dialog[open]::-webkit-scrollbar{width:0;height:0}dialog[open].drawer-expanded{max-height:calc(100svh - max(.75rem, env(safe-area-inset-top)))}.drawer-header{touch-action:none}.drawer-header:before{background:var(--divider);content:"";border-radius:999px;width:2.25rem;height:.2rem;position:absolute;top:.45rem;left:50%;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){dialog::backdrop{animation-duration:.01ms!important}}svg.svelte-17uqi3a{width:100%;color:var(--text-primary);display:block;overflow:visible}.cup-body.svelte-17uqi3a,.saucer.svelte-17uqi3a,.vapor.svelte-17uqi3a{transform-box:fill-box;transform-origin:bottom}.cup-body.svelte-17uqi3a,.saucer.svelte-17uqi3a{fill:color-mix(in srgb, currentColor 78%, transparent)}.cup-body.svelte-17uqi3a{animation:.68s cubic-bezier(.2,.8,.2,1) both svelte-17uqi3a-cup-arrive}.saucer.svelte-17uqi3a{animation:.62s cubic-bezier(.2,.8,.2,1) 90ms both svelte-17uqi3a-saucer-arrive}.vapor.svelte-17uqi3a{fill:url(#completion-vapor-fade);opacity:0}.vapor-shape.svelte-17uqi3a{transform-box:fill-box;transform-origin:bottom}.vapor-one.svelte-17uqi3a .vapor-shape:where(.svelte-17uqi3a){transform:translate(6px)scale(1.45)}.vapor-two.svelte-17uqi3a .vapor-shape:where(.svelte-17uqi3a){transform:translate(-6px)scale(1.6)}.vapor-one.svelte-17uqi3a{animation:5.22s linear .48s infinite svelte-17uqi3a-vapor-rise}.vapor-two.svelte-17uqi3a{animation:5.74s linear 1.25s infinite svelte-17uqi3a-vapor-rise}@keyframes svelte-17uqi3a-cup-arrive{0%{opacity:0;transform:translateY(.35rem)scale(.97)}}@keyframes svelte-17uqi3a-saucer-arrive{0%{opacity:0;transform:translateY(.22rem)scaleX(.76)}}@keyframes svelte-17uqi3a-vapor-rise{0%{opacity:0;transform:translateY(10%)}12%{opacity:.34;transform:translateY(3%)}55%{opacity:.24;transform:translateY(-20%)}82%{opacity:.1;transform:translateY(-42%)}to{opacity:0;transform:translateY(-60%)}}@media (prefers-reduced-motion:reduce){.cup-body.svelte-17uqi3a,.saucer.svelte-17uqi3a,.vapor.svelte-17uqi3a{animation:none}.vapor.svelte-17uqi3a{opacity:.28}}.completion-screen.svelte-1h9ywlu{z-index:10;min-height:100svh;padding:max(2rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));background:var(--progress-tint);text-align:center;grid-template-rows:minmax(0,1fr) auto;gap:1.5rem;display:grid;position:absolute;inset:0;overflow-y:auto}.completion-main.svelte-1h9ywlu{align-self:center;justify-items:center;gap:.3rem;display:grid}.completion-art.svelte-1h9ywlu{width:min(10.75rem,44vw);margin-bottom:.15rem}.completion-copy.svelte-1h9ywlu{width:min(100%,28rem)}.resting-time.svelte-1h9ywlu{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0 0 .6rem;font-size:.75rem}h1.svelte-1h9ywlu{letter-spacing:-.04em;text-align:center;max-width:none;margin:0;font-size:clamp(2.0425rem,9.975vw,3.42rem);font-weight:760;line-height:1}h1.svelte-1h9ywlu:focus{outline:none}.completion-metrics.svelte-1h9ywlu{background:var(--surface);border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.5rem 0 0;padding:1rem .75rem;display:grid}.completion-metrics.svelte-1h9ywlu div:where(.svelte-1h9ywlu){gap:.2rem;display:grid}.completion-metrics.svelte-1h9ywlu dt:where(.svelte-1h9ywlu){color:var(--text-muted);margin-bottom:.3rem;font-size:.7rem}.completion-metrics.svelte-1h9ywlu dd:where(.svelte-1h9ywlu){font-variant-numeric:tabular-nums;margin:0;font-size:.8075rem;font-weight:650;line-height:1.35}.settle-message.svelte-1h9ywlu{max-width:24rem;color:var(--text-muted);gap:.15rem;margin:1.65rem auto 0;font-size:.722rem;line-height:1.45;display:grid}.settle-message.svelte-1h9ywlu strong:where(.svelte-1h9ywlu){color:inherit;font-weight:inherit}.completion-actions.svelte-1h9ywlu{grid-template-columns:1fr auto;place-self:end center;gap:.75rem;width:min(100%,23rem);display:grid}.completion-actions.svelte-1h9ywlu button:where(.svelte-1h9ywlu){cursor:pointer;border:0;border-radius:999px;min-height:3.75rem;padding:0 1.25rem;font-weight:650}.review-completion.svelte-1h9ywlu{color:var(--background);background:var(--text-strong)}.finish-completion.svelte-1h9ywlu{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 8%, transparent)}.completion-actions.svelte-1h9ywlu button:where(.svelte-1h9ywlu):disabled{opacity:.45;cursor:wait}canvas.svelte-1ac5qsg{z-index:-1;right:0;bottom:var(--brew-progress);pointer-events:none;width:100%;height:1rem;display:block;position:absolute;left:0}@media (prefers-reduced-motion:reduce){canvas.svelte-1ac5qsg{display:none}}main.svelte-a2wxt1{width:min(100%,46rem);min-height:100svh;padding:max(.35rem, env(safe-area-inset-top)) 1.25rem max(.75rem, env(safe-area-inset-bottom));isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto;margin:0 auto;display:grid;position:relative;overflow:hidden}main.ready.svelte-a2wxt1{cursor:pointer}main.ready.svelte-a2wxt1 header:where(.svelte-a2wxt1),main.ready.svelte-a2wxt1 .active:where(.svelte-a2wxt1),main.ready.svelte-a2wxt1 footer:where(.svelte-a2wxt1){z-index:1;pointer-events:none;position:relative}main.ready.svelte-a2wxt1 a:where(.svelte-a2wxt1),main.ready.svelte-a2wxt1 button:where(.svelte-a2wxt1){pointer-events:auto}main.svelte-a2wxt1:before{z-index:-1;height:var(--brew-progress);background:var(--progress-tint);content:"";pointer-events:none;position:absolute;bottom:0;left:0;right:0}.live-announcement.svelte-a2wxt1{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}header.svelte-a2wxt1{min-height:5.4rem}.status-row.svelte-a2wxt1{justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;display:flex}.water-total.svelte-a2wxt1,.recipe-title.svelte-a2wxt1{color:var(--text-muted);font-size:.81rem}.water-total.svelte-a2wxt1{font-variant-numeric:tabular-nums}.ready-back.svelte-a2wxt1{width:2.75rem;min-height:2.75rem;color:var(--icon-secondary);touch-action:manipulation;place-items:center start;transition:transform .11s,opacity .11s;display:grid}.ready-back.svelte-a2wxt1:active{opacity:.82;transform:translateY(1px)scale(.9)}.ready-back.svelte-a2wxt1 svg:where(.svelte-a2wxt1){fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem}.recipe-title.svelte-a2wxt1{text-align:left;width:100%;margin-top:.2rem;padding-bottom:.425rem;font-size:.85rem;line-height:1.4;display:block}.ready-context.svelte-a2wxt1{opacity:1;visibility:visible;transition:opacity .18s,visibility linear}.ready-context.hidden.svelte-a2wxt1{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s linear .18s}.ready-details.svelte-a2wxt1{color:var(--text-muted);flex-wrap:wrap;gap:.25rem .8rem;font-size:.76rem;display:flex}.ready-note.svelte-a2wxt1{max-width:30rem;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.65rem 0 0;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.ready-note.svelte-a2wxt1 span:where(.svelte-a2wxt1){color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-right:.45rem;font-size:.7rem}.wake-warning.svelte-a2wxt1{color:var(--text-primary);margin-top:-.35rem;font-size:.675rem;font-weight:600;display:block}.total-time.svelte-a2wxt1{white-space:nowrap;align-items:center;gap:.45rem;display:flex}.total-time.svelte-a2wxt1 span:where(.svelte-a2wxt1),.total-time.svelte-a2wxt1 time:where(.svelte-a2wxt1){color:var(--text-muted);font-size:.81rem}.progress-status.svelte-a2wxt1{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.active.svelte-a2wxt1{min-height:0;margin-inline:-1.25rem;overflow:hidden}.stage-scroller.svelte-a2wxt1{overscroll-behavior-x:contain;scroll-behavior:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pinch-zoom;width:100%;height:100%;display:flex;overflow-x:auto}.stage-scroller.svelte-a2wxt1::-webkit-scrollbar{display:none}.stage.svelte-a2wxt1{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;align-items:center;min-width:0;padding:1.5rem 1.25rem;display:flex}.message.svelte-a2wxt1{width:100%}h1.svelte-a2wxt1{letter-spacing:0;max-width:11ch;margin:0;font-size:clamp(2.178rem,9.495vw,4.014rem);font-weight:600;line-height:1.06}h1.svelte-a2wxt1 strong:where(.svelte-a2wxt1){color:var(--text-strong);white-space:nowrap;font-weight:800}.instruction.svelte-a2wxt1{overflow-wrap:anywhere;max-width:30rem;color:color-mix(in srgb, var(--text-primary) 65%, var(--background));white-space:pre-line;margin:1.5rem 0 0;font-size:.94264rem;font-weight:500;line-height:1.4}.stage.preview.svelte-a2wxt1 h1:where(.svelte-a2wxt1),.stage.preview.svelte-a2wxt1 .instruction:where(.svelte-a2wxt1),.stage.preview.svelte-a2wxt1 h1:where(.svelte-a2wxt1) strong:where(.svelte-a2wxt1){color:var(--text-muted)}footer.svelte-a2wxt1{padding-top:.5rem}.step-status.svelte-a2wxt1{justify-content:center;align-items:center;min-height:1.5rem;display:flex;transform:translateY(-.25rem)}.step-pips.svelte-a2wxt1{align-items:center;gap:.36rem;display:flex}.step-pips.svelte-a2wxt1 span:where(.svelte-a2wxt1){background:var(--divider);border-radius:999px;width:.315rem;height:.315rem;transition:width .14s,background-color .14s;display:block}.step-pips.svelte-a2wxt1 span.live:where(.svelte-a2wxt1){background:var(--text-muted)}.step-pips.svelte-a2wxt1 span.viewed:where(.svelte-a2wxt1){background:var(--text-muted);width:.72rem}.step-pips.svelte-a2wxt1 span.live.viewed:where(.svelte-a2wxt1){background:var(--text-muted)}.next-summary.svelte-a2wxt1{text-align:left;align-content:center;justify-items:stretch;gap:.65rem;min-height:6.25rem;display:grid}.next-summary.started.svelte-a2wxt1{animation:.18s ease-out svelte-a2wxt1-brew-status-in}.ready-prompt.svelte-a2wxt1{text-align:center;justify-items:center;gap:.2rem;width:100%;display:grid}.ready-prompt.svelte-a2wxt1 strong:where(.svelte-a2wxt1){font-size:1.02rem;font-weight:650}.ready-prompt.svelte-a2wxt1 span:where(.svelte-a2wxt1){color:var(--text-muted);font-size:.81rem;font-weight:500}.next-summary.svelte-a2wxt1>span:where(.svelte-a2wxt1){color:var(--text-muted);white-space:nowrap;font-size:.81rem;font-weight:600}.step-timer.svelte-a2wxt1{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.step-timer.svelte-a2wxt1>div:where(.svelte-a2wxt1){gap:.1rem;display:grid}.step-timer.svelte-a2wxt1>div:where(.svelte-a2wxt1):last-child{text-align:right;justify-items:end}.step-timer.svelte-a2wxt1 span:where(.svelte-a2wxt1){color:var(--text-muted);font-size:.81rem;font-weight:500}.step-timer.svelte-a2wxt1 time:where(.svelte-a2wxt1){font-variant-numeric:tabular-nums;font-size:1.37rem;font-weight:600}.next-summary.svelte-a2wxt1>strong:where(.svelte-a2wxt1){max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9225rem;font-weight:600;line-height:1.3;overflow:hidden}.button-row.svelte-a2wxt1{grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.7rem;display:grid}.button-row.drawdown-controls.svelte-a2wxt1{grid-template-columns:auto auto;justify-content:space-between}.stop-button.svelte-a2wxt1,.brew-button.svelte-a2wxt1,.next-button.svelte-a2wxt1{border:1px solid color-mix(in srgb, var(--text-primary) 14%, transparent);background:color-mix(in srgb, var(--surface) 84%, var(--background));cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;text-decoration:none;transition:transform .1s,opacity .1s,color .1s,border-color .1s,background-color .1s;display:grid}.stop-button.svelte-a2wxt1{width:4.275rem;height:4.275rem;color:var(--icon-secondary);justify-self:start}.stop-button.confirming.svelte-a2wxt1{color:var(--text-primary);background:var(--divider)}.brew-button.svelte-a2wxt1,.button-spacer.svelte-a2wxt1{justify-self:center;width:5.225rem;height:5.225rem}.brew-button.svelte-a2wxt1{color:var(--text-primary);transform-origin:50%;touch-action:manipulation}.next-button.svelte-a2wxt1{width:4.275rem;height:4.275rem;color:var(--icon-secondary);justify-self:end}.stop-button.svelte-a2wxt1 svg:where(.svelte-a2wxt1),.next-button.svelte-a2wxt1 svg:where(.svelte-a2wxt1){fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.9rem}.brew-button.svelte-a2wxt1 svg:where(.svelte-a2wxt1){fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:2.375rem}.stop-button.svelte-a2wxt1:active,.next-button.svelte-a2wxt1:active{color:var(--text-strong);background:var(--divider);transform:scale(.9)}.brew-button.svelte-a2wxt1:active{color:var(--text-strong);border-color:color-mix(in srgb, var(--text-primary) 28%, transparent);background:var(--divider);transition-duration:55ms;transform:translateY(.12rem)scale(.92)}.brew-button.feedback.svelte-a2wxt1{animation:.26s cubic-bezier(.22,1,.36,1) both svelte-a2wxt1-brew-control-release}@keyframes svelte-a2wxt1-brew-control-release{0%{border-color:color-mix(in srgb, var(--text-primary) 28%, transparent);background-color:var(--divider);transform:translateY(.12rem)scale(.92)}62%{transform:translateY(-.03rem)scale(1.018)}to{transform:translateY(0)scale(1)}}@keyframes svelte-a2wxt1-brew-status-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){main.svelte-a2wxt1:before{height:0}.brew-button.feedback.svelte-a2wxt1{animation:none!important}}@media (height<=650px){.stage.svelte-a2wxt1{padding-block:.75rem}h1.svelte-a2wxt1{font-size:1.9494rem}.instruction.svelte-a2wxt1{margin-top:.75rem;font-size:.75411rem}.next-summary.svelte-a2wxt1{min-height:5.25rem}.step-timer.svelte-a2wxt1 time:where(.svelte-a2wxt1){font-size:1.178rem}.button-row.svelte-a2wxt1{min-height:4.5125rem}.stop-button.svelte-a2wxt1,.next-button.svelte-a2wxt1{width:3.8rem;height:3.8rem}.brew-button.svelte-a2wxt1,.button-spacer.svelte-a2wxt1{width:4.5125rem;height:4.5125rem}}.trigger.svelte-z4640x{width:var(--compact-control-size);height:var(--compact-control-size);color:var(--icon-secondary);background:var(--surface);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,color .11s,background-color .11s;display:grid}.trigger.swipe.svelte-z4640x{width:4.5rem;height:100%;color:var(--background);background:var(--text-strong);border-radius:0 calc(1rem - 1px) calc(1rem - 1px) 0;flex:0 0 4.5rem;font-weight:650}.trigger.svelte-z4640x:not(.swipe):active{color:var(--text-primary);background:var(--divider);transform:translateY(1px)scale(.92)}.trigger.swipe.svelte-z4640x:active{opacity:.82;transform:none}.trigger.svelte-z4640x svg:where(.svelte-z4640x){fill:none;stroke:currentColor;stroke-width:2.05px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem}.dialog-content.svelte-z4640x{padding:1.25rem 1rem max(1.25rem, env(safe-area-inset-bottom))}h2.svelte-z4640x{letter-spacing:-.015em;margin:0;font-size:1.25rem;font-weight:600}p.svelte-z4640x{color:var(--text-muted);margin:.75rem 0 0;line-height:1.5}.actions.svelte-z4640x{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1.25rem;display:grid}.actions.svelte-z4640x button:where(.svelte-z4640x){min-height:3.5rem;color:var(--text-primary);background:var(--surface);cursor:pointer;border:0;border-radius:.85rem;padding:0 .75rem;font-weight:650}.actions.svelte-z4640x .confirm:where(.svelte-z4640x){color:var(--background);background:var(--text-strong)}.actions.svelte-z4640x button:where(.svelte-z4640x):active{opacity:.82;transform:translateY(1px)scale(.985)}@media (hover:hover){.trigger.svelte-z4640x:not(.swipe):hover:not(:active){color:var(--text-primary);transform:translateY(-1px)}}@media (width>=35rem){dialog.svelte-z4640x{margin:auto}}.brew-records.svelte-1sruh5f{gap:0;margin:0;padding:0;list-style:none;display:grid}.brew-records.svelte-1sruh5f>li:where(.svelte-1sruh5f){background:var(--surface);border-radius:1rem;margin-bottom:1rem;transition:transform .11s;position:relative;overflow:hidden}.brew-records.svelte-1sruh5f>li:where(.svelte-1sruh5f):has(a:where(.svelte-1sruh5f):active){background:var(--divider);transform:translateY(1px)scale(.985)}.brew-records.svelte-1sruh5f>li:where(.svelte-1sruh5f):last-child{margin-bottom:0}.swipe-action.svelte-1sruh5f{width:min(100%, calc(var(--swipe-reveal) + 1rem));opacity:0;background:var(--text-strong);border-radius:0 1rem 1rem 0;justify-content:flex-end;transition:opacity 60ms;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.brew-records.svelte-1sruh5f>li.delete-revealed:where(.svelte-1sruh5f) .swipe-action:where(.svelte-1sruh5f){opacity:1}.brew-records.svelte-1sruh5f a:where(.svelte-1sruh5f){z-index:1;color:inherit;background:inherit;touch-action:pan-y;transform:translateX(var(--swipe-offset));border-radius:1rem;padding:1.25rem;text-decoration:none;transition:transform .16s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.brew-records.svelte-1sruh5f>li.swiping:where(.svelte-1sruh5f) a:where(.svelte-1sruh5f){-webkit-user-select:none;user-select:none;transition:none}.brew-records.svelte-1sruh5f a:where(.svelte-1sruh5f):active{transform:translateX(var(--swipe-offset))}.record-meta.svelte-1sruh5f{color:var(--text-muted);justify-content:space-between;align-items:flex-start;gap:1rem;font-size:.9rem;display:flex}.record-meta.svelte-1sruh5f time:where(.svelte-1sruh5f){line-height:1.45}.record-meta.svelte-1sruh5f time:where(.svelte-1sruh5f) span:where(.svelte-1sruh5f){white-space:normal}.record-meta.svelte-1sruh5f .drawdown:where(.svelte-1sruh5f){font-variant-numeric:tabular-nums;white-space:nowrap}.ratings.svelte-1sruh5f{grid-template-columns:repeat(3,auto);justify-content:space-between;gap:.45rem .3rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.ratings.svelte-1sruh5f li:where(.svelte-1sruh5f){min-width:0;color:var(--text-muted);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:.25rem;font-size:clamp(.72rem,4vw,.9rem);line-height:1.3;display:flex}.ratings.svelte-1sruh5f strong:where(.svelte-1sruh5f){color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;width:1ch;font-weight:600}p.svelte-1sruh5f{white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:.85rem 0 0;line-height:1.5;display:-webkit-box;overflow:hidden}main.svelte-1ik9zah{width:min(100%, var(--content-width));min-height:100svh;padding:max(1.25rem, env(safe-area-inset-top)) var(--page-gutter) max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}nav.svelte-1ik9zah a:where(.svelte-1ik9zah){width:2.75rem;min-height:2.75rem;color:var(--icon-secondary);touch-action:manipulation;border-radius:50%;place-items:center start;transition:transform .11s,opacity .11s;display:inline-grid}nav.svelte-1ik9zah a:where(.svelte-1ik9zah):active{opacity:.8;transform:translateY(1px)scale(.9)}nav.svelte-1ik9zah svg:where(.svelte-1ik9zah){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem}header.svelte-1ik9zah{padding:2rem 0 2.5rem}header.svelte-1ik9zah p:where(.svelte-1ik9zah){color:var(--text-muted);margin:0;line-height:1.5}h1.svelte-1ik9zah{letter-spacing:-.015em;margin:.5rem 0 .75rem;font-size:clamp(1.7rem,7.2vw,2.7rem);font-weight:700;line-height:1}.empty.svelte-1ik9zah{color:var(--text-muted);margin:0}.trigger.svelte-99prjg{width:var(--compact-control-size);height:var(--compact-control-size);color:var(--icon-secondary);background:var(--surface);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:grid}.trigger.svelte-99prjg:active{background:var(--divider);transform:translateY(1px)scale(.92)}@media (hover:hover){.trigger.svelte-99prjg:hover:not(:active){color:var(--text-primary);transform:translateY(-1px)}}.trigger.svelte-99prjg svg:where(.svelte-99prjg){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem}.dialog-content.svelte-99prjg{max-height:inherit;grid-template-rows:auto minmax(0,1fr);display:grid}.drawer-header.svelte-99prjg{padding:1.2rem 1rem .8rem}.drawer-body.svelte-99prjg{overscroll-behavior:contain;padding:0 1rem max(1.25rem, env(safe-area-inset-bottom));scrollbar-width:none;overflow-y:auto}.drawer-body.svelte-99prjg::-webkit-scrollbar{display:none}header.svelte-99prjg time:where(.svelte-99prjg),.error.svelte-99prjg{color:var(--text-muted)}header.svelte-99prjg time:where(.svelte-99prjg){margin-top:.35rem;line-height:1.4;display:block}h2.svelte-99prjg,h3.svelte-99prjg{letter-spacing:-.015em;margin:0}h2.svelte-99prjg{font-size:1.25rem;font-weight:550}h3.svelte-99prjg{font-size:.95rem;font-weight:600}.recipe-json.svelte-99prjg,.brew-markdown.svelte-99prjg{margin-top:1.1rem}.compact-actions.svelte-99prjg,.content-actions.svelte-99prjg{background:var(--surface);border-radius:.9rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin-top:.6rem;padding:.3rem;display:grid}.content-actions.three-actions.svelte-99prjg{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-actions.svelte-99prjg button:where(.svelte-99prjg),.content-actions.svelte-99prjg button:where(.svelte-99prjg){min-height:3rem;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:.65rem;padding:0 .6rem;font-weight:600}.compact-actions.svelte-99prjg button:where(.svelte-99prjg):active,.content-actions.svelte-99prjg button:where(.svelte-99prjg):active{opacity:.82;background:var(--background);transform:translateY(1px)scale(.985)}textarea.svelte-99prjg{width:100%;min-height:min(24svh,12rem);color:var(--text-primary);background:var(--surface);resize:vertical;border:1px solid #0000;border-radius:1rem;margin-top:1.1rem;padding:.8rem;font-family:inherit;font-size:.85rem;line-height:1.5}.brew-markdown.svelte-99prjg textarea:where(.svelte-99prjg){min-height:min(24svh,12rem);margin-top:.75rem}.error.svelte-99prjg{margin:.75rem 0 0;line-height:1.5}@media (width>=39rem){dialog.svelte-99prjg{margin:auto}}.steps.svelte-1pc0y8l{gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}li.svelte-1pc0y8l{gap:.45rem;display:grid}.step-meta.svelte-1pc0y8l{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.step-context.svelte-1pc0y8l,.step-water.svelte-1pc0y8l{white-space:nowrap;align-items:baseline;display:inline-flex}.step-context.svelte-1pc0y8l{gap:.75rem}time.svelte-1pc0y8l{width:4ch;color:var(--text-muted);font-variant-numeric:tabular-nums;display:inline-block}.step-kind.svelte-1pc0y8l{font-weight:500}.step-water.svelte-1pc0y8l{justify-content:flex-end;gap:.4rem;font-size:.95rem;font-weight:500}p.svelte-1pc0y8l{overflow-wrap:anywhere;white-space:pre-line;max-width:32rem;margin:0;line-height:1.5}main.svelte-1lado0x{width:min(100%, var(--content-width));min-height:100svh;padding:max(1.25rem, env(safe-area-inset-top)) var(--page-gutter) max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}nav.svelte-1lado0x{justify-content:space-between;align-items:center;display:flex}.nav-actions.svelte-1lado0x{align-items:center;gap:.5rem;display:flex}nav.svelte-1lado0x a:where(.svelte-1lado0x),.review-action.svelte-1lado0x{width:2.75rem;min-height:2.75rem;color:var(--icon-secondary);cursor:pointer;touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:inline-grid}nav.svelte-1lado0x a:where(.svelte-1lado0x){background:0 0}.review-action.svelte-1lado0x{background:var(--surface)}nav.svelte-1lado0x>a:where(.svelte-1lado0x){justify-items:start}nav.svelte-1lado0x>a:where(.svelte-1lado0x) svg:where(.svelte-1lado0x){width:1.5rem}nav.svelte-1lado0x a:where(.svelte-1lado0x):active,.review-action.svelte-1lado0x:active{opacity:.82;transform:translateY(1px)scale(.9)}nav.svelte-1lado0x svg:where(.svelte-1lado0x),.review-action.svelte-1lado0x svg:where(.svelte-1lado0x){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem}header.svelte-1lado0x{padding:2.25rem 0 2.75rem}header.svelte-1lado0x p:where(.svelte-1lado0x){color:var(--text-muted);margin:0;line-height:1.5}header.svelte-1lado0x .bean-description:where(.svelte-1lado0x){max-width:34rem;color:var(--text-primary);margin-top:1rem}h1.svelte-1lado0x{letter-spacing:-.015em;margin:.65rem 0 1rem;font-size:clamp(1.8rem,8.4vw,3rem);font-weight:700;line-height:.98}section.svelte-1lado0x{margin-bottom:3.25rem}h2.svelte-1lado0x{margin:0 0 1.5rem;font-size:1.35rem;font-weight:650}.completion-time.svelte-1lado0x{color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.completion-time.svelte-1lado0x span:where(.svelte-1lado0x){white-space:nowrap}.review-heading.svelte-1lado0x{justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;margin-bottom:1.25rem;display:flex}.review-heading.svelte-1lado0x h2:where(.svelte-1lado0x){margin:0}dt.svelte-1lado0x,footer.svelte-1lado0x{color:var(--text-muted)}.completion.svelte-1lado0x,.specs.svelte-1lado0x{background:var(--surface);border-radius:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .85rem;margin:0;padding:1.1rem;display:grid}.specs.svelte-1lado0x .wide:where(.svelte-1lado0x){grid-column:1/-1}dt.svelte-1lado0x{margin-bottom:.3rem}dd.svelte-1lado0x{font-variant-numeric:tabular-nums;margin:0;font-size:1.08rem;font-weight:600;line-height:1.4}form.svelte-1lado0x{gap:2.5rem;display:grid}fieldset.svelte-1lado0x{border:0;min-width:0;margin:0;padding:0}.rating-list.svelte-1lado0x{gap:.75rem;display:grid}.rating-row.svelte-1lado0x{justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}.stars.svelte-1lado0x{gap:.1rem;display:flex}.stars.svelte-1lado0x button:where(.svelte-1lado0x){width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.stars.svelte-1lado0x svg:where(.svelte-1lado0x){fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;width:1.65rem;transition:fill .11s,transform .11s}.stars.svelte-1lado0x button.selected:where(.svelte-1lado0x) svg:where(.svelte-1lado0x){fill:currentColor}.stars.svelte-1lado0x button:where(.svelte-1lado0x):active{opacity:1;transform:none}.stars.svelte-1lado0x button:where(.svelte-1lado0x):active svg:where(.svelte-1lado0x){transform:scale(.82)}.notes-editor.svelte-1lado0x{display:grid}.notes-editor.svelte-1lado0x textarea:where(.svelte-1lado0x){width:100%;min-height:9rem;color:var(--text-primary);background:var(--surface);resize:vertical;border:1px solid #0000;border-radius:1rem;padding:1rem;line-height:1.5}.notes-editor.svelte-1lado0x textarea:where(.svelte-1lado0x):focus-visible{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-muted) 22%, transparent);outline:0}.next-brew-editor.svelte-1lado0x{gap:.55rem;display:grid}.next-brew-editor.svelte-1lado0x>span:where(.svelte-1lado0x){font-weight:650}.next-brew-editor.svelte-1lado0x input:where(.svelte-1lado0x){width:100%}.next-brew-editor.svelte-1lado0x small:where(.svelte-1lado0x){color:var(--text-muted);font-size:.78rem;line-height:1.45}.save-action.svelte-1lado0x{min-height:5rem;color:var(--background);background:var(--text-strong);cursor:pointer;border:0;border-radius:1rem;padding:0 1.25rem;font-weight:700}.save-action.svelte-1lado0x:disabled{color:var(--text-muted);background:var(--surface);cursor:not-allowed}.save-action.svelte-1lado0x:active:not(:disabled){opacity:.88;transform:translateY(1px)scale(.985)}.rating-summary.svelte-1lado0x{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;width:min(100%,32rem);margin:0;padding:0;list-style:none;display:grid}.rating-summary.svelte-1lado0x li:where(.svelte-1lado0x){color:var(--text-muted);grid-template-columns:minmax(0,1fr) 3ch;align-items:baseline;gap:.5rem;display:grid}.rating-summary.svelte-1lado0x strong:where(.svelte-1lado0x){color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.notes.svelte-1lado0x{overflow-wrap:anywhere;white-space:pre-line;margin:1.5rem 0 0;line-height:1.55}.empty-review.svelte-1lado0x{color:var(--text-muted);margin:0}.preparation.svelte-1lado0x{gap:1rem;margin:0;padding-left:1.5rem;display:grid}.preparation.svelte-1lado0x li:where(.svelte-1lado0x){padding-left:.35rem;line-height:1.55}footer.svelte-1lado0x{color:var(--text-muted);font-size:.81rem;line-height:1.5}footer.svelte-1lado0x a:where(.svelte-1lado0x){color:inherit;text-underline-offset:.2em}@media (width<=380px){.rating-row.svelte-1lado0x{display:grid}}main.svelte-1h4m7w6{text-align:center;place-content:center;justify-items:center;min-height:100svh;padding:1.25rem;display:grid}p.svelte-1h4m7w6{color:var(--text-muted);margin:0 0 .75rem;font-size:.9rem}h1.svelte-1h4m7w6{letter-spacing:-.015em;margin:0;font-size:1.75rem;font-weight:500}a.svelte-1h4m7w6{min-height:2.75rem;color:var(--text-primary);text-underline-offset:.25em;touch-action:manipulation;align-items:center;margin-top:1.5rem;transition:transform .11s,opacity .11s;display:inline-flex}a.svelte-1h4m7w6:active{opacity:.75;transform:translateY(1px)scale(.97)}main.svelte-1y02vwm{width:min(100%, var(--content-width));padding:max(1.25rem, env(safe-area-inset-top)) var(--page-gutter) max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}nav.svelte-1y02vwm{justify-content:space-between;align-items:center;gap:1rem;display:flex}nav.svelte-1y02vwm a:where(.svelte-1y02vwm){min-height:3rem;color:var(--icon-secondary);align-items:center;gap:.4rem;font-size:.9rem;text-decoration:none;display:inline-flex}nav.svelte-1y02vwm button:where(.svelte-1y02vwm){min-height:3rem;color:var(--icon-secondary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .5rem}.nav-actions.svelte-1y02vwm{align-items:center;gap:.5rem;display:flex}nav.svelte-1y02vwm .icon-action:where(.svelte-1y02vwm){touch-action:manipulation;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;min-height:2.75rem;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:inline-flex}nav.svelte-1y02vwm .icon-action:where(.svelte-1y02vwm):active{opacity:.82;transform:translateY(1px)scale(.9)}nav.svelte-1y02vwm .icon-action:where(.svelte-1y02vwm) svg:where(.svelte-1y02vwm){width:1.15rem}nav.svelte-1y02vwm .edit-action:where(.svelte-1y02vwm),nav.svelte-1y02vwm .cancel-action:where(.svelte-1y02vwm){background:var(--surface)}nav.svelte-1y02vwm .save-top-action:where(.svelte-1y02vwm){color:var(--background);background:var(--text-strong)}nav.svelte-1y02vwm .save-top-action:where(.svelte-1y02vwm) svg:where(.svelte-1y02vwm){stroke-width:2.1px;width:1.3rem}nav.svelte-1y02vwm .play-action:where(.svelte-1y02vwm){width:3rem;min-height:3rem;color:var(--background);background:var(--text-strong)}nav.svelte-1y02vwm .play-action:where(.svelte-1y02vwm) svg:where(.svelte-1y02vwm){fill:none;stroke-width:2.1px;width:1.45rem}nav.svelte-1y02vwm svg:where(.svelte-1y02vwm){fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem}nav.svelte-1y02vwm .back-action:where(.svelte-1y02vwm){justify-content:flex-start}nav.svelte-1y02vwm .back-action:where(.svelte-1y02vwm) svg:where(.svelte-1y02vwm){width:1.5rem}article.svelte-1y02vwm>header:where(.svelte-1y02vwm){padding:2.25rem 0 2.75rem}header.svelte-1y02vwm p:where(.svelte-1y02vwm){color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}header.svelte-1y02vwm .bean-description:where(.svelte-1y02vwm){max-width:34rem;color:var(--text-strong);margin-top:1rem;line-height:1.55}.header-field.svelte-1y02vwm,.identity-editor.svelte-1y02vwm label:where(.svelte-1y02vwm),.bean-description-editor.svelte-1y02vwm{gap:.5rem;display:grid}.header-field.svelte-1y02vwm>span:where(.svelte-1y02vwm),.identity-editor.svelte-1y02vwm label:where(.svelte-1y02vwm)>span:where(.svelte-1y02vwm),.bean-description-editor.svelte-1y02vwm>span:where(.svelte-1y02vwm){color:var(--text-muted);font-size:.9rem}.identity-editor.svelte-1y02vwm{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem;margin-top:1.5rem;display:grid}.bean-description-editor.svelte-1y02vwm{margin-top:1.5rem}.bean-description-editor.svelte-1y02vwm textarea:where(.svelte-1y02vwm){resize:vertical;min-height:4.5rem;line-height:1.5}h1.svelte-1y02vwm,.title-editor.svelte-1y02vwm{letter-spacing:-.015em;margin:.65rem 0 1rem;font-size:clamp(1.8rem,8.4vw,3rem);font-weight:750;line-height:.95}section.svelte-1y02vwm{margin-bottom:3.25rem}h2.svelte-1y02vwm{letter-spacing:-.01em;margin:0 0 1.5rem;font-size:1.35rem;font-weight:700}.specs.svelte-1y02vwm{background:var(--surface);border-radius:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .85rem;margin:0;padding:1.1rem;display:grid;position:relative}.specs.svelte-1y02vwm:has(.ratio-lock:where(.svelte-1y02vwm)){column-gap:2.5rem}.specs.svelte-1y02vwm .wide:where(.svelte-1y02vwm){grid-column:1/-1}.linked-field.svelte-1y02vwm{transition:opacity .15s}.linked-field.svelte-1y02vwm .value-field:where(.svelte-1y02vwm) input:where(.svelte-1y02vwm){max-width:none}.specs.svelte-1y02vwm:has(.ratio-lock.locked:where(.svelte-1y02vwm)) .linked-field:where(.svelte-1y02vwm) input:where(.svelte-1y02vwm){border-color:color-mix(in srgb, var(--text-muted) 42%, transparent)}.specs.linked-dose-focused.svelte-1y02vwm .linked-water:where(.svelte-1y02vwm),.specs.linked-water-focused.svelte-1y02vwm .linked-dose:where(.svelte-1y02vwm){opacity:.38}.ratio-lock.svelte-1y02vwm{z-index:1;width:2.5rem;height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:2.65rem;left:50%;transform:translate(-50%)}.ratio-lock.svelte-1y02vwm:before,.ratio-lock.svelte-1y02vwm:after{content:"";opacity:.72;border-top:2px solid;width:.58rem;position:absolute;top:50%;transform:translateY(-50%)}.ratio-lock.svelte-1y02vwm:before{left:0}.ratio-lock.svelte-1y02vwm:after{right:0}.ratio-lock.svelte-1y02vwm svg:where(.svelte-1y02vwm){z-index:1;fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;transition:transform .12s;position:relative}.ratio-lock.svelte-1y02vwm svg:where(.svelte-1y02vwm) rect:where(.svelte-1y02vwm){fill:var(--surface)}.ratio-lock.svelte-1y02vwm .closed-shackle:where(.svelte-1y02vwm),.ratio-lock.svelte-1y02vwm .open-shackle:where(.svelte-1y02vwm){transform-origin:50%;transition:opacity .16s,transform .18s}.ratio-lock.svelte-1y02vwm .closed-shackle:where(.svelte-1y02vwm){opacity:0;transform:scale(.82)}.ratio-lock.svelte-1y02vwm .open-shackle:where(.svelte-1y02vwm){opacity:1}.ratio-lock.locked.svelte-1y02vwm .closed-shackle:where(.svelte-1y02vwm){opacity:1;transform:none}.ratio-lock.locked.svelte-1y02vwm .open-shackle:where(.svelte-1y02vwm){opacity:0;transform:scale(.82)}.ratio-lock.svelte-1y02vwm:active{opacity:1;transform:translate(-50%)}.ratio-lock.svelte-1y02vwm:active svg:where(.svelte-1y02vwm){transform:scale(.88)}dt.svelte-1y02vwm,.steps.svelte-1y02vwm time:where(.svelte-1y02vwm),footer.svelte-1y02vwm{color:var(--text-muted);font-size:.9rem}dt.svelte-1y02vwm{margin-bottom:.3rem}dd.svelte-1y02vwm{margin:0;font-size:1.08rem;font-weight:650;line-height:1.4}input.svelte-1y02vwm,textarea.svelte-1y02vwm{width:100%;min-width:0;color:var(--text-strong);background:var(--surface);font:inherit;border:1px solid #0000;border-radius:.75rem;padding:.72rem .8rem;transition:border-color .12s,background-color .12s,box-shadow .12s}input.svelte-1y02vwm:focus-visible,textarea.svelte-1y02vwm:focus-visible{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-muted) 22%, transparent);outline:0}.title-field.svelte-1y02vwm{font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding:.2rem .45rem}.specs.svelte-1y02vwm input:where(.svelte-1y02vwm){background:var(--background)}.value-field.svelte-1y02vwm input:where(.svelte-1y02vwm){max-width:7rem;font-weight:650}.preparation.svelte-1y02vwm{gap:1rem;margin:0;padding-left:1.5rem;display:grid}.preparation.svelte-1y02vwm li:where(.svelte-1y02vwm){padding-left:.35rem;font-size:.9rem;line-height:1.55}.next-brew-note.svelte-1y02vwm{background:var(--surface);border-radius:1rem;margin-bottom:1rem;padding:1rem 1.1rem}.next-brew-note.svelte-1y02vwm span:where(.svelte-1y02vwm){color:var(--text-muted);font-size:.78rem}.next-brew-note.svelte-1y02vwm p:where(.svelte-1y02vwm){margin:.35rem 0 0;line-height:1.5}.brew-action.svelte-1y02vwm{min-height:5rem;color:var(--background);background:var(--text-strong);touch-action:manipulation;border-radius:1rem;justify-content:space-between;align-items:center;margin-top:2rem;padding:0 1.25rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:transform .11s,opacity .11s;display:flex}.brew-action.svelte-1y02vwm:active{opacity:.88;transform:translateY(1px)scale(.985)}.without-preparation.svelte-1y02vwm .brew-action:where(.svelte-1y02vwm){margin-top:0}.brew-action.svelte-1y02vwm svg:where(.svelte-1y02vwm){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.9rem}.section-heading.svelte-1y02vwm{margin-bottom:2rem}.steps.svelte-1y02vwm{gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.steps.svelte-1y02vwm li:where(.svelte-1y02vwm){gap:.45rem;display:grid}.step-meta.svelte-1y02vwm{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.step-context.svelte-1y02vwm{white-space:nowrap;align-items:baseline;gap:.75rem;display:inline-flex}.step-meta.svelte-1y02vwm time:where(.svelte-1y02vwm){font-variant-numeric:tabular-nums;width:4ch;display:inline-block}.step-kind.svelte-1y02vwm{font-size:.9rem;font-weight:500}.steps.editing.svelte-1y02vwm{gap:2rem}.steps.editing.svelte-1y02vwm li:where(.svelte-1y02vwm){gap:.7rem}.step-description.svelte-1y02vwm{min-width:0}.step-description.svelte-1y02vwm textarea:where(.svelte-1y02vwm){resize:none;field-sizing:content;min-height:2rem;line-height:1.5}.step-weight.svelte-1y02vwm input:where(.svelte-1y02vwm){text-align:right;width:6rem;font-size:1.05rem;font-weight:550}.edit-actions.svelte-1y02vwm{margin-top:2rem}.edit-error.svelte-1y02vwm{margin:0 0 1rem;font-weight:650;line-height:1.45}.save-action.svelte-1y02vwm{width:100%;min-height:5rem;color:var(--background);background:var(--text-strong);font:inherit;cursor:pointer;border:0;border-radius:1rem;padding:0 1.25rem;font-size:1.25rem;font-weight:700}.save-action.svelte-1y02vwm:active{opacity:.88;transform:translateY(1px)scale(.985)}.history-action.svelte-1y02vwm{border:1px solid var(--divider);min-height:4rem;color:var(--text-primary);touch-action:manipulation;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:0 1rem;text-decoration:none;transition:transform .11s,background-color .11s;display:flex}.history-action.svelte-1y02vwm svg:where(.svelte-1y02vwm){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem}.history-action.svelte-1y02vwm:active{background:var(--surface);transform:translateY(1px)scale(.985)}footer.svelte-1y02vwm{color:var(--text-muted);padding-top:.5rem;font-size:.81rem;line-height:1.5}footer.svelte-1y02vwm a:where(.svelte-1y02vwm){color:inherit;text-underline-offset:.2em}.add.svelte-1ishcwd{width:var(--compact-control-size);height:var(--compact-control-size);color:var(--icon-secondary);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:grid}.add.svelte-1ishcwd:active{background:var(--surface);transform:translateY(1px)scale(.92)}@media (hover:hover){.add.svelte-1ishcwd:hover:not(:active){color:var(--text-primary);transform:translateY(-1px)}}.add.svelte-1ishcwd svg:where(.svelte-1ishcwd){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem}form.svelte-1ishcwd{max-height:inherit;grid-template-rows:auto minmax(0,1fr);display:grid}.drawer-header.svelte-1ishcwd{padding:1.4rem 1.25rem .9rem}.drawer-body.svelte-1ishcwd{overscroll-behavior:contain;padding:0 1.25rem max(1.5rem, env(safe-area-inset-bottom));scrollbar-width:none;overflow-y:auto}.drawer-body.svelte-1ishcwd::-webkit-scrollbar{display:none}.error.svelte-1ishcwd{color:var(--text-muted)}h2.svelte-1ishcwd,h3.svelte-1ishcwd{letter-spacing:-.02em;margin:0}h2.svelte-1ishcwd{font-size:1.5rem;font-weight:500}h3.svelte-1ishcwd{font-size:.9rem;font-weight:600}section.svelte-1ishcwd{margin-top:1.5rem}.actions.svelte-1ishcwd{background:var(--surface);border-radius:.9rem;gap:.2rem;margin-top:.65rem;padding:.3rem;display:grid}.actions.svelte-1ishcwd label:where(.svelte-1ishcwd),.actions.svelte-1ishcwd button:where(.svelte-1ishcwd),.actions.svelte-1ishcwd a:where(.svelte-1ishcwd){width:100%;min-height:3.5rem;color:var(--text-primary);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:.65rem;justify-content:space-between;align-items:center;padding:0 .65rem;text-decoration:none;transition:transform .11s,opacity .11s;display:flex}.actions.svelte-1ishcwd label:where(.svelte-1ishcwd):active,.actions.svelte-1ishcwd button:where(.svelte-1ishcwd):active,.actions.svelte-1ishcwd a:where(.svelte-1ishcwd):active{opacity:.72;background:var(--background);transform:translateY(1px)}.actions.svelte-1ishcwd span:where(.svelte-1ishcwd):not(.visually-hidden){width:1.25rem;color:var(--text-muted);text-align:center}.actions.svelte-1ishcwd span.copied:where(.svelte-1ishcwd){color:var(--text-primary)}.paste-editor.svelte-1ishcwd{gap:.75rem;margin-top:1rem;display:grid}.paste-editor.svelte-1ishcwd textarea:where(.svelte-1ishcwd){width:100%;min-height:8rem;color:var(--text-primary);background:var(--surface);resize:vertical;border:1px solid #0000;border-radius:.85rem;padding:.85rem;line-height:1.45}.paste-editor.svelte-1ishcwd textarea:where(.svelte-1ishcwd):focus-visible{border-color:var(--text-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-muted) 22%, transparent);outline:0}.paste-editor.svelte-1ishcwd button:where(.svelte-1ishcwd){min-height:3.5rem;color:var(--background);background:var(--text-strong);cursor:pointer;border:0;border-radius:.85rem;padding:0 1rem;font-weight:600}input.svelte-1ishcwd{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}label.svelte-1ishcwd:focus-within{outline:2px solid var(--text-primary);outline-offset:3px}.error.svelte-1ishcwd{margin:1rem 0 0;line-height:1.5}@media (width>=35rem){dialog.svelte-1ishcwd{margin:auto}}.toy.svelte-1orz019{width:100%;height:100%;min-height:24rem;color:var(--text-primary);cursor:pointer;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.toy.svelte-1orz019:active{opacity:1;transform:none}.toy.svelte-1orz019:focus-visible{outline:0}.toy.svelte-1orz019:focus-visible .cup-art:where(.svelte-1orz019){outline:2px solid var(--text-strong);outline-offset:.3rem;border-radius:1.5rem}.toy.svelte-1orz019:focus-visible .cup-line:where(.svelte-1orz019){stroke-width:2.8px}.falling-bean.svelte-1orz019{z-index:3;fill:none;width:1.55rem;height:1.55rem;stroke:var(--text-primary);stroke-linecap:round;stroke-linejoin:round;pointer-events:none;animation:svelte-1orz019-bean-fall var(--bean-duration) cubic-bezier(.55, .085, .68, .53) both;position:absolute;top:0;left:0;overflow:visible}.falling-bean.cup-bound.svelte-1orz019{animation:svelte-1orz019-bean-fall var(--bean-duration) cubic-bezier(.55, .085, .68, .53) both, svelte-1orz019-bean-caught var(--bean-duration) linear both}.bean-shell.svelte-1orz019{fill:var(--surface);stroke-width:1.8px}.bean-seam.svelte-1orz019{stroke-width:1.65px}.cup-art.svelte-1orz019{z-index:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:min(9.775rem,52.7vw);position:absolute;bottom:3.65rem;left:50%;overflow:visible;transform:translate(-50%)}.cup-line.svelte-1orz019{stroke-width:2.25px;transition:stroke-width .11s}.cup-fill.svelte-1orz019{fill:var(--background);stroke:none}.coffee.svelte-1orz019{fill:color-mix(in srgb, var(--text-primary) 15%, transparent);stroke:none}.ripple.svelte-1orz019{fill:none;stroke:var(--text-muted);stroke-width:1.1px;opacity:0;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.ripple-one.svelte-1orz019{animation:.62s cubic-bezier(.2,.8,.2,1) both svelte-1orz019-coffee-wave}.ripple-two.svelte-1orz019{animation:.68s cubic-bezier(.2,.8,.2,1) 90ms both svelte-1orz019-coffee-wave}.vapor-line.svelte-1orz019{stroke:var(--text-muted);stroke-width:1.7px;opacity:0;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:bottom}.vapor-left.svelte-1orz019{--vapor-drift:-.2rem;animation:1.25s ease-out .26s both svelte-1orz019-vapor-rise}.vapor-middle.svelte-1orz019{--vapor-drift:0;animation:1.25s ease-out .35s both svelte-1orz019-vapor-rise}.vapor-right.svelte-1orz019{--vapor-drift:.2rem;animation:1.25s ease-out .44s both svelte-1orz019-vapor-rise}.credit.svelte-1orz019{z-index:4;color:var(--text-muted);letter-spacing:.01em;text-align:center;pointer-events:none;font-size:.7rem;position:absolute;bottom:1.85rem;left:0;right:0}.credit.svelte-1orz019 span:where(.svelte-1orz019){color:var(--accent-heart)}@keyframes svelte-1orz019-bean-fall{0%{transform:translate(var(--bean-x), var(--bean-y)) rotate(0)}to{transform:translate(calc(var(--bean-x) + var(--bean-drift)), calc(var(--bean-y) + var(--bean-distance))) rotate(var(--bean-rotation))}}@keyframes svelte-1orz019-bean-caught{0%,88%{opacity:1}to{opacity:0}}@keyframes svelte-1orz019-coffee-wave{0%{opacity:.46;transform:scale(.2,.72)}to{opacity:0;transform:scale(1.14,1.04)}}@keyframes svelte-1orz019-vapor-rise{0%{opacity:0;transform:translateY(.3rem)scaleY(.78)}32%{opacity:.68}72%{opacity:.46;transform:translate(calc(var(--vapor-drift) * .55), -.3rem) scaleY(1)}to{opacity:0;transform:translate(var(--vapor-drift), -.9rem) scaleY(1.06)}}@media (prefers-reduced-motion:reduce){.ripple.svelte-1orz019{opacity:.3;animation:none;transform:scale(1.04)}.vapor-line.svelte-1orz019{opacity:.46;animation:none;transform:translateY(-.4rem)}}.settings-trigger.svelte-anx9w7{width:var(--compact-control-size);height:var(--compact-control-size);color:var(--icon-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:grid}.settings-trigger.svelte-anx9w7:active{background:var(--surface);transform:translateY(1px)scale(.92)}.settings-trigger.svelte-anx9w7 svg:where(.svelte-anx9w7){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem}.settings-sheet.svelte-anx9w7{max-height:inherit;grid-template-rows:auto minmax(0,1fr);display:grid}.drawer-header.svelte-anx9w7{padding:1.35rem 1.15rem .85rem}.drawer-header.about-header.svelte-anx9w7{min-height:2rem;padding:0}.drawer-body.svelte-anx9w7{overscroll-behavior:contain;padding:0 1.15rem max(1.4rem, env(safe-area-inset-bottom));scrollbar-width:none;overflow-y:auto}.drawer-body.svelte-anx9w7::-webkit-scrollbar{display:none}.drawer-body.about-body.svelte-anx9w7{padding-bottom:env(safe-area-inset-bottom);display:grid}.about-page.svelte-anx9w7{align-content:stretch;min-height:min(38rem,80svh - 2rem);margin-top:0;display:grid}.drawer-header.svelte-anx9w7,.section-heading.svelte-anx9w7{justify-content:space-between;align-items:center;gap:1rem;display:flex}.setting-status.svelte-anx9w7,.notice.svelte-anx9w7,.error.svelte-anx9w7,.restore-confirmation.svelte-anx9w7 p:where(.svelte-anx9w7){color:var(--text-muted)}h2.svelte-anx9w7,h3.svelte-anx9w7{margin:0}h2.svelte-anx9w7{letter-spacing:-.025em;font-size:1.5rem;font-weight:600}h3.svelte-anx9w7{font-size:.9rem;font-weight:650}section.svelte-anx9w7{margin-top:1.5rem}.setting-label.svelte-anx9w7{color:var(--text-muted);margin:1rem 0 .45rem;font-size:.76rem;display:block}.segments.svelte-anx9w7{background:var(--surface);border-radius:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;margin-top:.65rem;padding:.25rem;display:grid}.segments.three.svelte-anx9w7{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.segments.four.svelte-anx9w7{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.segments.svelte-anx9w7 button:where(.svelte-anx9w7){height:2.65rem;min-height:0;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.65rem;padding:0 .5rem;font-size:.78rem;transition:transform .11s,opacity .11s,color .11s,background-color .11s}.segments.svelte-anx9w7 button.selected:where(.svelte-anx9w7){color:var(--text-strong);background:var(--background);font-weight:650}.test-cue.svelte-anx9w7{width:var(--compact-control-size);height:var(--compact-control-size);color:var(--text-primary);background:var(--surface);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .11s,opacity .11s,background-color .11s;display:grid}.test-cue.svelte-anx9w7:active:not(:disabled){background:var(--divider);transform:translateY(1px)scale(.92)}.test-cue.svelte-anx9w7 svg:where(.svelte-anx9w7){fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;overflow:visible}.test-cue.svelte-anx9w7:disabled{opacity:.38;cursor:not-allowed}.test-cue.svelte-anx9w7 .sound-wave:where(.svelte-anx9w7){opacity:.55}.test-cue.playing.svelte-anx9w7 .speaker:where(.svelte-anx9w7){animation:.52s ease-out svelte-anx9w7-cue-speaker}.test-cue.playing.svelte-anx9w7 .wave-one:where(.svelte-anx9w7){animation:.52s ease-out 50ms both svelte-anx9w7-cue-wave}.test-cue.playing.svelte-anx9w7 .wave-two:where(.svelte-anx9w7){animation:.62s ease-out .1s both svelte-anx9w7-cue-wave}@keyframes svelte-anx9w7-cue-speaker{35%{transform-origin:50%;transform:scale(.88)}}@keyframes svelte-anx9w7-cue-wave{0%{opacity:0;transform-origin:0;transform:translate(.05rem)scale(.78)}48%{opacity:1;transform:translate(.13rem)scale(1)}to{opacity:0;transform:translate(.28rem)scale(1.04)}}.action-list.svelte-anx9w7{background:var(--surface);border-radius:1rem;gap:.3rem;margin-top:.65rem;padding:.35rem;display:grid}.action-list.svelte-anx9w7 button:where(.svelte-anx9w7){width:100%;min-height:3rem;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:0 .8rem;font-size:.82rem;transition:transform .11s,opacity .11s,background-color .11s;display:flex}.action-list.svelte-anx9w7 button:where(.svelte-anx9w7):active{background:var(--background);transform:translateY(1px)scale(.985)}.action-list.svelte-anx9w7 button:where(.svelte-anx9w7)>span:where(.svelte-anx9w7):last-child{color:var(--text-muted)}.setting-status.svelte-anx9w7,.notice.svelte-anx9w7,.error.svelte-anx9w7{margin:.65rem 0 0;font-size:.72rem;line-height:1.45}.notice.svelte-anx9w7,.error.svelte-anx9w7{margin-top:1rem}.file-input.svelte-anx9w7{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.restore-confirmation.svelte-anx9w7{margin-top:1.5rem}.restore-confirmation.svelte-anx9w7 p:where(.svelte-anx9w7){line-height:1.55}.restore-confirmation.svelte-anx9w7 .warning:where(.svelte-anx9w7){background:var(--surface);border-radius:.8rem;padding:.85rem}.confirmation-actions.svelte-anx9w7{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1.25rem;display:grid}.confirmation-actions.svelte-anx9w7 button:where(.svelte-anx9w7){min-height:3.5rem;color:var(--text-primary);background:var(--surface);cursor:pointer;border:0;border-radius:.85rem;padding:0 .75rem;font-weight:650}.confirmation-actions.svelte-anx9w7 .primary:where(.svelte-anx9w7){color:var(--background);background:var(--text-strong)}main.svelte-e8udbz{width:min(100%, var(--content-width));min-height:100svh;padding:max(1.25rem, env(safe-area-inset-top)) var(--page-gutter) max(2.5rem, env(safe-area-inset-bottom));margin:0 auto}header.svelte-e8udbz{justify-content:space-between;align-items:center;padding:1rem 0 1.5rem;display:flex}.page-title.svelte-e8udbz{align-items:center;gap:.65rem;display:flex}.brew-mark.svelte-e8udbz{opacity:.82;background:currentColor;flex:none;width:2.2rem;height:1.65rem;-webkit-mask:url(../brew-mark.svg) 50%/contain no-repeat;mask:url(../brew-mark.svg) 50%/contain no-repeat}.identity.svelte-e8udbz>span:where(.svelte-e8udbz){color:var(--text-muted);font-size:.9rem}h1.svelte-e8udbz{letter-spacing:-.015em;white-space:nowrap;margin:0;font-size:clamp(1.5rem,6vw,2.1rem);font-weight:750;line-height:1}.controls.svelte-e8udbz{flex:none;align-items:center;gap:0;display:flex}.recipe-list.svelte-e8udbz{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}a.svelte-e8udbz{min-height:7rem;color:inherit;touch-action:manipulation;border-radius:1rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.8rem .6rem;text-decoration:none;transition:background-color .14s,transform .11s;display:grid}.identity.svelte-e8udbz{gap:.35rem;display:grid}strong.svelte-e8udbz{letter-spacing:-.01em;font-size:clamp(1.17rem,4.5vw,1.44rem);font-weight:700;line-height:1.15}.roaster.svelte-e8udbz{line-height:1.4}.note.svelte-e8udbz{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.last-brewed.svelte-e8udbz{margin-top:.1rem;color:color-mix(in srgb, var(--text-muted) 70%, transparent)!important;font-size:.68rem!important}.details.svelte-e8udbz{margin-top:.35rem}svg.svelte-e8udbz{width:1.35rem;color:var(--icon-secondary);fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s}a.svelte-e8udbz:active{background:var(--surface);transform:translateY(1px)scale(.985)}@media (hover:hover){a.svelte-e8udbz:hover:not(:active){background:var(--surface);transform:translate(.2rem)}a.svelte-e8udbz:hover:not(:active) svg:where(.svelte-e8udbz){transform:translate(.3rem)}}
