.splash{min-height:100dvh;padding:var(--space);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.splash__title{margin:0;font-size:1.5rem;line-height:1.2}.splash__text{max-width:30rem;color:var(--text-muted);margin:0}.splash__button{min-height:var(--tap);min-width:var(--tap);border-radius:var(--radius);background:var(--accent);color:var(--bg);font:inherit;cursor:pointer;border:0;padding:0 1.5rem;font-weight:600}.splash__button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.storage-banner{z-index:20;padding:.5rem calc(var(--space) + env(safe-area-inset-right)) .5rem calc(var(--space) + env(safe-area-inset-left));padding-top:calc(.5rem + env(safe-area-inset-top));background:var(--accent);color:var(--bg);text-align:center;font-size:.9375rem;font-weight:600;position:sticky;top:0}.ui-icon{flex:none;display:block}.ui-amount{min-width:5.25rem;color:var(--text);font-size:var(--fs-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;text-align:right;display:inline-block}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-md);padding:0 var(--space-5);border-radius:var(--radius);color:var(--text);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background-color var(--dur-fast), border-color var(--dur-fast);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.ui-btn--sm{min-height:var(--tap);padding:0 var(--space-4);font-size:var(--fs-sm)}.ui-btn--lg{min-height:var(--tap-lg);padding:0 var(--space-6);font-size:var(--fs-lg)}.ui-btn--block{width:100%;display:flex}.ui-btn--primary{background:var(--accent);color:var(--on-accent)}.ui-btn--secondary{background:var(--surface-2);border-color:var(--border-strong)}.ui-btn--ghost{color:var(--accent)}.ui-btn--danger{background:var(--danger);color:var(--on-danger)}.ui-btn:disabled,.ui-icon-btn:disabled{opacity:.45;cursor:not-allowed}.ui-btn--primary:active:not(:disabled){background:var(--accent-pressed)}.ui-btn--secondary:active:not(:disabled){background:var(--surface-3)}.ui-btn--ghost:active:not(:disabled){background:var(--surface-2)}.ui-btn--danger:active:not(:disabled){background:var(--danger-text)}@media (hover:hover){.ui-btn--primary:hover:not(:disabled){background:var(--accent-pressed)}.ui-btn--secondary:hover:not(:disabled){background:var(--surface-3)}.ui-btn--ghost:hover:not(:disabled){background:var(--surface-2)}.ui-btn--danger:hover:not(:disabled){background:var(--danger-text)}}.ui-icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-btn--md{width:var(--tap-md);height:var(--tap-md)}.ui-icon-btn--lg{width:var(--tap-lg);height:var(--tap-lg)}.ui-icon-btn--ghost[aria-pressed=true]{color:var(--accent)}.ui-icon-btn--secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.ui-icon-btn--primary{background:var(--accent);color:var(--on-accent)}.ui-icon-btn--danger{background:var(--danger);color:var(--on-danger)}.ui-icon-btn--ghost:active:not(:disabled){background:var(--surface-2)}.ui-icon-btn--secondary:active:not(:disabled){background:var(--surface-3)}.ui-icon-btn--primary:active:not(:disabled){background:var(--accent-pressed)}.ui-icon-btn--danger:active:not(:disabled){background:var(--danger-text)}@media (hover:hover){.ui-icon-btn--ghost:hover:not(:disabled){background:var(--surface-2)}}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);background:var(--surface-2);min-height:1.5rem;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;padding:.125rem .625rem;line-height:1.2;display:inline-flex}.ui-badge--ready{background:var(--ready-bg);color:var(--ready-text)}.ui-badge--prep{background:var(--prep-bg);color:var(--prep-text)}.ui-badge--swap{background:var(--swap-bg);color:var(--swap-text)}.ui-badge--one-away{background:var(--one-away-bg);color:var(--one-away-text)}.ui-badge--out{background:var(--out-bg);color:var(--out-text)}.ui-badge--warning{background:var(--warning-bg);color:var(--warning-text)}.ui-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.ui-row{align-items:stretch;display:flex}.ui-row+.ui-row{border-top:1px solid var(--border)}.ui-row__main{align-items:center;gap:var(--space-3);min-width:0;min-height:var(--row-min);padding:var(--space-2) var(--space-4);color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:auto;margin:0;text-decoration:none;display:flex}.ui-row__main--interactive{cursor:pointer;touch-action:manipulation}.ui-row__main--interactive:active{background:var(--surface-2)}.ui-row__main:focus-visible{outline-offset:-3px}@media (hover:hover){.ui-row__main--interactive:hover{background:var(--surface-2)}}.ui-row__lead{color:var(--text-muted);flex:none;justify-content:center;align-items:center;display:flex}.ui-row__text{flex:auto;min-width:0;display:block}.ui-row__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere;display:block}.ui-row__sub{color:var(--text-muted);font-size:var(--fs-sm);margin-top:.125rem;line-height:1.3;display:block}.ui-row__trail{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--fs-sm);flex:none;display:flex}.ui-row__trail .ui-level{width:4rem}.ui-row__chevron{color:var(--text-muted)}.ui-row__actions{align-items:center;gap:var(--space-1);padding-right:var(--space-2);flex:none;display:flex}.ui-section{margin-top:var(--space-5)}.ui-section:first-child{margin-top:0}.ui-section__head{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2.25rem;margin-bottom:var(--space-2);display:flex}.ui-section__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.ui-section__action{margin-right:calc(-1 * var(--space-2));flex:none}.ui-toggle{align-items:center;gap:var(--space-3);min-height:var(--tap);color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0;display:inline-flex}.ui-toggle:disabled{opacity:.45;cursor:not-allowed}.ui-toggle--switch:not(.ui-toggle--bare){width:100%;min-height:var(--row-min);font-size:var(--fs-lg);font-weight:var(--fw-semibold);justify-content:space-between;display:flex}.ui-toggle--bare{padding:0 var(--space-1)}.ui-toggle__track{border-radius:var(--radius-pill);background:var(--control-off);width:3rem;height:1.75rem;transition:background-color var(--dur-fast);flex:none;position:relative}.ui-toggle__thumb{background:var(--on-solid);width:1.375rem;height:1.375rem;transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:.1875rem;left:.1875rem}.ui-toggle[aria-checked=true] .ui-toggle__track{background:var(--ready)}.ui-toggle[aria-checked=true] .ui-toggle__thumb{transform:translate(1.25rem)}.ui-toggle--chip{gap:var(--space-2);padding:0 var(--space-4) 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);font-weight:var(--fw-medium);transition:background-color var(--dur-fast), border-color var(--dur-fast)}.ui-toggle__box{border:2px solid var(--control-off);color:#0000;width:1.375rem;height:1.375rem;transition:background-color var(--dur-fast), border-color var(--dur-fast);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-toggle--chip[aria-checked=true]{background:var(--ready-bg);border-color:var(--ready);color:var(--ready-text)}.ui-toggle--chip[aria-checked=true] .ui-toggle__box{background:var(--ready);border-color:var(--ready);color:var(--on-solid)}.ui-segmented{gap:var(--space-1);width:fit-content;max-width:100%;padding:var(--space-1);border-radius:var(--radius);background:var(--surface-2);display:flex}.ui-segmented--block{width:100%}.ui-segmented__option{min-width:var(--tap);min-height:var(--tap);padding:0 var(--space-3);border-radius:calc(var(--radius) - var(--space-1));color:var(--text);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:center;cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-fast);background:0 0;border:0;justify-content:center;align-items:center;margin:0;line-height:1.15;display:flex}.ui-segmented--block .ui-segmented__option{min-width:max-content;padding:0 var(--space-1);font-size:var(--fs-sm);white-space:nowrap;flex:1 1 0}.ui-segmented__option[aria-checked=true]{background:var(--inverse-bg);color:var(--inverse-text);font-weight:var(--fw-semibold)}.ui-segmented--disabled{opacity:.45}.ui-segmented__option:disabled{cursor:not-allowed}.ui-segmented:not(.ui-segmented--disabled) .ui-segmented__option:disabled{opacity:.45}.ui-level{border-radius:var(--radius-pill);background:var(--surface-3);flex:none;width:100%;height:.625rem;display:block;overflow:hidden}.ui-level--sm{height:.375rem}.ui-level--lg{height:1rem}.ui-level__fill{border-radius:inherit;background:var(--ready);height:100%;transition:width var(--dur) var(--ease);display:block}.ui-level[data-state=low] .ui-level__fill{background:var(--warning)}.ui-level[data-state=critical] .ui-level__fill{background:var(--danger)}.ui-search{align-items:center;gap:var(--space-2);min-height:var(--tap-md);padding:0 var(--space-1) 0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-muted);display:flex}.ui-search:focus-within{outline:2px solid var(--focus);outline-offset:2px}.ui-search__input:focus-visible{outline:none}.ui-search__input{min-width:0;min-height:calc(var(--tap-md) - 2px);color:var(--text);font:inherit;font-size:var(--fs-md);appearance:none;background:0 0;border:0;outline:none;flex:auto;padding:0}.ui-search__input::placeholder{color:var(--text-muted);opacity:1}.ui-search__input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.ui-search__input::-webkit-search-decoration{-webkit-appearance:none;display:none}.ui-search>.ui-icon-btn{margin-right:1px}.ui-empty{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.ui-empty__icon{width:4rem;height:4rem;margin-bottom:var(--space-2);background:var(--surface-2);color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ui-empty__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.ui-empty__text{max-width:24rem;color:var(--text-muted);margin:0}.ui-empty__action{margin-top:var(--space-3)}.ui-sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.ui-sheet[open]{justify-content:center;align-items:flex-end;display:flex}.ui-sheet::backdrop{background:var(--overlay);animation:ui-fade-in var(--dur) ease-out}.ui-sheet__panel{width:100%;max-width:var(--content-width);max-height:calc(100dvh - var(--safe-top) - var(--space-5));padding-right:var(--safe-right);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);animation:ui-sheet-in var(--dur) var(--ease);border-bottom:0;flex-direction:column;display:flex}.ui-sheet__grabber{width:2.5rem;height:.25rem;margin:var(--space-2) auto 0;border-radius:var(--radius-pill);background:var(--border-strong);flex:none}.ui-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);flex:none;display:flex}.ui-sheet__title{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.ui-sheet__body{min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}.ui-sheet__footer{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);flex:none;display:flex}.ui-sheet__footer>*{flex:none}.ui-sheet__footer>:last-child,.ui-sheet__footer--equal>*{flex:1 1 0}body:has(.ui-sheet[open]){overflow:hidden}@keyframes ui-sheet-in{0%{transform:translateY(100%)}}@keyframes ui-fade-in{0%{opacity:0}}.ui-toasts{right:0;bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--sticky-bar-height) + var(--space-3));z-index:var(--z-toast);align-items:center;gap:var(--space-2);padding:0 calc(var(--space) + var(--safe-right)) 0 calc(var(--space) + var(--safe-left));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:0}.ui-toast{align-items:center;gap:var(--space-3);max-width:var(--content-width);min-height:var(--tap-md);padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--inverse-bg);color:var(--inverse-text);font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:var(--lh-tight);pointer-events:auto;animation:ui-toast-in var(--dur) var(--ease);display:flex}.ui-toast__action{min-width:var(--tap);min-height:var(--tap);margin:0 calc(-1 * var(--space-3)) 0 0;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--inverse-accent);font:inherit;font-weight:var(--fw-bold);cursor:pointer;touch-action:manipulation;background:0 0;border:0}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(.5rem)}}.dr-row__family{display:block}.dr-row__hint{color:var(--text-muted);font-size:var(--fs-xs);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-top:.125rem;line-height:1.3;display:-webkit-box;overflow:hidden}.dr-select{min-width:0;display:block;position:relative}.dr-select__input{width:100%;min-height:var(--tap);padding:0 calc(var(--space-4) + var(--space-5)) 0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--fs-md);text-overflow:ellipsis;appearance:none;cursor:pointer;touch-action:manipulation;margin:0;display:block}.dr-select__input:disabled{opacity:.45;cursor:not-allowed}.dr-select__icon{top:50%;right:var(--space-3);color:var(--text-muted);pointer-events:none;position:absolute;transform:translateY(-50%)rotate(90deg)}.dr-stars{gap:var(--space-1);display:flex}.dr-stars__star{width:var(--tap-md);height:var(--tap-md);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dr-stars__star[data-filled=true]{color:var(--accent)}@media (hover:hover){.dr-stars__star:hover{background:var(--surface-2)}}.tn-summary{margin-bottom:var(--space-4)}.tn .ui-section{margin-top:var(--space-5)}.tn-count{margin-left:var(--space-1);color:var(--text-muted);font-weight:var(--fw-medium)}.tn-use__lead{margin:calc(-1 * var(--space-1)) 0 var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}.tn-strip{gap:var(--space-3);margin:0 calc(-1 * var(--space)) 0;padding:0 var(--space) var(--space-1);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0 var(--space);-webkit-overflow-scrolling:touch;list-style:none;display:flex;overflow-x:auto}.tn-card{scroll-snap-align:start;flex:none;width:14rem}.tn-card__link{align-items:flex-start;gap:var(--space-1);height:100%;min-height:var(--row-min);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;touch-action:manipulation;flex-direction:column;text-decoration:none;display:flex}.tn-card__link:active{background:var(--surface-2)}@media (hover:hover){.tn-card__link:hover{background:var(--surface-2)}}.tn-card__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.tn-card__bottle{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.3}.bar-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.bar-header .screen__title{margin:0}.bar-add-cta{margin-bottom:var(--space-3)}.bar-views{margin-bottom:var(--space-4)}.bar-count{margin-right:var(--space-2);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.bar-hint{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--fs-sm)}.bar-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bar-row{display:block}.bar-row+.bar-row{border-top:1px solid var(--border)}.bar-row__main{align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap-md);padding:var(--space-3) var(--space-4) var(--space-1);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0;display:flex}.bar-row__main:active{background:var(--surface-2)}.bar-row__main:focus-visible{outline-offset:-3px}@media (hover:hover){.bar-row__main:hover{background:var(--surface-2)}}.bar-row__text{flex:auto;min-width:0;display:block}.bar-row__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere;display:block}.bar-row__meta{align-items:center;gap:var(--space-1) var(--space-2);margin-top:var(--space-1);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.bar-row--plain .bar-row__main{padding-bottom:var(--space-3)}.bar-row__chevron{color:var(--text-muted);flex:none}.bar-badge--expired.ui-badge--warning{background:var(--danger-bg);color:var(--danger-text)}.bar-steps{padding:0 var(--space-3) var(--space-1);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.bar-steps__step{align-items:stretch;gap:var(--space-1);min-width:0;min-height:var(--tap);padding:var(--space-2) 0 var(--space-1);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;margin:0;display:flex}.bar-steps__step:focus-visible{outline-offset:-2px}.bar-steps__bar{border-radius:var(--radius-pill);background:var(--surface-3);height:.625rem;transition:background-color var(--dur-fast), transform var(--dur-fast);margin:0 .125rem;display:block}.bar-steps__step:active .bar-steps__bar{transform:scaleY(1.5)}.bar-steps__step[data-filled] .bar-steps__bar{background:var(--ready)}.bar-steps[data-state=low] .bar-steps__step[data-filled] .bar-steps__bar{background:var(--warning)}.bar-steps[data-state=critical] .bar-steps__step[data-filled] .bar-steps__bar{background:var(--danger)}.bar-steps__label{font-size:var(--fs-2xs);text-align:center;line-height:1.15;display:block}.bar-steps__step[aria-checked=true] .bar-steps__label{color:var(--text);font-weight:var(--fw-bold);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}.bar-steps--compact{padding:0}.bar-banner{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-1) var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--accent-bg);display:flex}.bar-banner__text{min-width:0;font-size:var(--fs-sm);flex-direction:column;flex:auto;line-height:1.3;display:flex}.bar-banner__text strong{font-size:var(--fs-md)}.bar-finished{margin-top:var(--space-5)}.bar-finished__summary{min-height:var(--tap);color:var(--text-muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;align-items:center;display:flex}.bar-finished[open]>.bar-finished__summary{margin-bottom:var(--space-2)}.bar-group{margin-top:var(--space-4)}.bar-group__title{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.bar-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.bar-panel .ui-toggle--chip{margin:0}.bar-add{gap:var(--space-3);flex-direction:column;display:flex}.bar-add__search{align-items:center;gap:var(--space-2);display:flex}.bar-add__search .ui-search{flex:auto}.bar-result__meta{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.bar-result__unlock{color:var(--text-muted);margin-top:.125rem;display:block}.bar-result__unlock--good{color:var(--ready-text);font-weight:var(--fw-semibold)}.bar-form{gap:var(--space-4);flex-direction:column;display:flex}.bar-form__group{gap:var(--space-2);flex-direction:column;display:flex}.bar-form__heading{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0}.bar-form__meta,.bar-form__hint{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.bar-form__hint--inline{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.bar-form__actions{padding-top:var(--space-2);border-top:1px solid var(--border)}.bar-product__name{font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0}.bar-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.bar-field__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.bar-field__optional{color:var(--text-muted);font-weight:var(--fw-regular)}.bar-field__hint{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.bar-input{width:100%;min-width:0;min-height:var(--tap-md);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--fs-md)}.bar-input::placeholder{color:var(--text-muted);opacity:1}.bar-fields-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end;display:grid}.bar-date-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.bar-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.bar-buttons>*{flex:14rem}.ui-btn--ghost.bar-btn-danger{color:var(--danger)}.bar-callout{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--surface-2);color:var(--text);display:flex}.bar-callout--good{background:var(--ready-bg);color:var(--ready-text)}.bar-callout--warn{background:var(--warning-bg);color:var(--warning-text);flex-direction:column;align-items:stretch}.bar-callout__text{margin:0}.bar-callout>.ui-icon{margin-top:.125rem}.bar-prompt{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--accent-bg);color:var(--text);font-size:var(--fs-sm);margin:0}.bar-error,.bar-status{padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--fs-sm);margin:0}.bar-error,.bar-status--error{background:var(--danger-bg);color:var(--danger-text)}.bar-status--ok{background:var(--ready-bg);color:var(--ready-text)}.bar-confirm{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-bg);color:var(--danger-text);flex-direction:column;display:flex}.bar-confirm__title,.bar-confirm__text{margin:0}.bar-confirm__title{font-weight:var(--fw-bold)}.bar-confirm__text{font-size:var(--fs-sm)}.bar-confirm__buttons{gap:var(--space-2);display:flex}.bar-confirm__buttons>*{flex:1 1 0}.bar-picker{gap:var(--space-3);flex-direction:column;display:flex}.bar-picked{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--surface-2);display:flex}.bar-picked__text{flex-direction:column;min-width:0;display:flex}.bar-picked__label{color:var(--text-muted);font-size:var(--fs-xs)}.bar-picked__path{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.bar-check-group{margin-bottom:var(--space-4)}.bar-check-list{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.bar-check-row{padding:var(--space-2) var(--space-3) var(--space-1)}.bar-check-row+.bar-check-row{border-top:1px solid var(--border)}.bar-check-row__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.bar-check-row__title{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.bar-check-row__level{color:var(--text-muted);font-size:var(--fs-sm);flex:none}.bar-info{flex-direction:column;margin:0;display:flex}.bar-info>div{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--fs-sm);display:flex}.bar-info dt{color:var(--text-muted)}.bar-info dd{font-weight:var(--fw-semibold);text-align:right;overflow-wrap:anywhere;margin:0}.ex-head{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.ex-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.ex-active{margin-bottom:var(--space-3)}.ex-count{color:var(--text-muted);font-size:var(--fs-sm);flex:auto;margin:0}.ex-active{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ex-active__chip{align-items:center;gap:var(--space-1);min-height:var(--tap);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--accent-bg);color:var(--text);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;touch-action:manipulation;display:inline-flex}.ex-group+.ex-group{margin-top:var(--space-5)}.ex-group__title{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.ex-group__note{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--fs-sm)}.ex-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.ex-group--switches{flex-direction:column;display:flex}.ex-families{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ex-family{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.ex-family__summary{align-items:center;gap:var(--space-3);min-height:var(--row-min);padding:var(--space-3) var(--space-4);cursor:pointer;touch-action:manipulation;list-style:none;display:flex}.ex-family__summary::-webkit-details-marker{display:none}.ex-family__summary:focus-visible{outline-offset:-3px}.ex-family__text{flex-direction:column;flex:auto;gap:.125rem;min-width:0;display:flex}.ex-family__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.ex-family__core{color:var(--text-muted);font-size:var(--fs-sm);line-height:1.3}.ex-family__count{color:var(--text-muted);font-size:var(--fs-xs)}.ex-family__arrow{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:.5rem;height:.5rem;transition:transform var(--dur-fast);flex:none;transform:rotate(45deg)}.ex-family details[open]>.ex-family__summary .ex-family__arrow{transform:rotate(-135deg)}.ex-family__body{padding:0 var(--space-3) var(--space-3)}.ex-family__why{margin:0 0 var(--space-3);padding:0 var(--space-1);color:var(--text-muted);font-size:var(--fs-sm)}.ex-family__why strong{color:var(--text)}.ck{display:block}.ck-top{margin:calc(-1 * var(--space-2)) 0 var(--space-1) calc(-1 * var(--space-2));align-items:center;display:flex}.ck-title{margin-bottom:var(--space-3);font-size:var(--fs-2xl);overflow-wrap:anywhere}.ck-badges{gap:var(--space-2);flex-wrap:wrap;display:flex}.ck-meta{align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--fs-sm);display:flex}.ck-status{margin:var(--space-1) 0 0;font-size:var(--fs-md);font-weight:var(--fw-medium)}.ck-lines{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.ck-line{align-items:start;gap:0 var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:5.25rem minmax(0,1fr);display:grid}.ck-line+.ck-line{border-top:1px solid var(--border)}.ck-line__amount,.ck-pour__amount{color:var(--text);font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:var(--lh-tight);text-align:right;flex:none}.ck-line__amount{padding-top:.125rem}.ck-line__main{min-width:0}.ck-line__body{align-items:center;gap:var(--space-2);width:100%;min-height:var(--tap);color:inherit;font:inherit;text-align:left;background:0 0;border:0;margin:0;padding:0;display:flex}.ck-line__body--pick{margin:calc(-1 * var(--space-3)) 0;padding:var(--space-3) 0;cursor:pointer;touch-action:manipulation}.ck-line__body--pick:active{background:var(--surface-2)}@media (hover:hover){.ck-line__body--pick:hover{background:var(--surface-2)}}.ck-line__text{flex-direction:column;flex:auto;align-items:flex-start;gap:.125rem;min-width:0;display:flex}.ck-line__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere}.ck-line__sub{align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.3;display:flex}.ck-line__sub--missing{color:var(--one-away-text);font-weight:var(--fw-medium)}.ck-line__badges{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ck-line__text>.ui-badge{margin-top:var(--space-1)}.ck-line__chevron{color:var(--text-muted);flex:none}.ck-line--needed{border-left:.25rem solid var(--one-away);padding-left:calc(var(--space-4) - .25rem)}.ck-prep{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-left:.25rem solid var(--prep);border-radius:var(--radius-sm);background:var(--prep-bg);color:var(--prep-text);grid-column:1/-1}.ck-prep__step+.ck-prep__step{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.ck-prep__title{align-items:center;gap:var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0;display:flex}.ck-prep__inputs{margin:var(--space-1) 0 0;font-size:var(--fs-sm)}.ck-prep__total{margin:var(--space-2) 0 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.ck-prep__details{margin-top:var(--space-1);font-size:var(--fs-sm)}.ck-prep__details summary{min-height:var(--tap);cursor:pointer;font-weight:var(--fw-semibold);align-items:center;display:flex}.ck-prep__details ol{margin:0 0 var(--space-1);padding-left:var(--space-5)}.ck-prep__details li+li{margin-top:var(--space-1)}.ck-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ck-card>:first-child{margin-top:0}.ck-card>:last-child{margin-bottom:0}.ck-method__name{margin:0 0 var(--space-1);font-size:var(--fs-xl);font-weight:var(--fw-bold)}.ck-method__text{margin:0 0 var(--space-3)}.ck-method__row{margin:var(--space-1) 0 0;color:var(--text-muted)}.ck-method__row strong{color:var(--text)}.ck-family__core{margin:0 0 var(--space-3);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.ck-family__why{margin:var(--space-3) 0 0}.ck-template{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);margin:0;display:grid}.ck-template__row{justify-content:space-between;gap:var(--space-3);display:flex}.ck-template dt{color:var(--text-muted)}.ck-template dd{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;text-align:right;margin:0}.ck-siblings{margin-top:var(--space-4)}.ck-siblings>.ui-section__head .ui-section__title{font-size:var(--fs-lg)}.ck-tool__fallback,.ck-tool__fallback-note{display:block}.ck-tool__fallback-note{color:var(--text-muted)}:root{--ck-action-height:calc(var(--tap-lg) + 2 * var(--space-3) + 1px)}body:has(.ck-action){--sticky-bar-height:var(--ck-action-height)}.ck-action{box-sizing:border-box;min-height:var(--ck-action-height);bottom:calc(var(--tabbar-height) + var(--safe-bottom));margin:var(--space-5) calc(-1 * var(--space)) calc(-1 * var(--space));padding:var(--space-3) var(--space);border-top:1px solid var(--border);background:var(--bg);position:sticky}.ck-choices{gap:var(--space-2);flex-direction:column;display:flex}.ck-choice{align-items:center;gap:var(--space-3);width:100%;min-height:var(--row-min);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;margin:0;display:flex}.ck-choice[aria-checked=true]{border-color:var(--accent);background:var(--accent-bg)}.ck-choice__text{flex-direction:column;flex:auto;min-width:0;display:flex}.ck-choice__name{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere}.ck-choice__sub{color:var(--text-muted);font-size:var(--fs-sm)}.ck-choice__level{flex:none;width:3rem}.ck-choice__check{width:1.5rem;color:var(--accent);flex:none;display:inline-flex}.ck-made__lead{margin:0 0 var(--space-3);color:var(--text-muted);font-size:var(--fs-lg)}.ck-made__heading{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);display:block}.ck-made__optional{color:var(--text-muted);font-weight:var(--fw-regular)}.ck-made__note{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--fs-sm)}.ck-made__error{margin:var(--space-3) 0 0;color:var(--danger-text);font-weight:var(--fw-semibold)}.ck-pours{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ck-pour{align-items:center;gap:var(--space-3);display:flex}.ck-pour--off .ck-pour__amount,.ck-pour--off .ck-pour__main{opacity:.5}.ck-pour__amount{min-width:4.5rem}.ck-pour__main{gap:var(--space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.ck-pour__name{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-tight)}.ck-pour__bottle{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);overflow-wrap:anywhere}.ck-pour__detail{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-regular);display:block}.ck-notes{width:100%;min-height:5rem;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font:inherit;font-size:var(--fs-md);resize:vertical;margin:0;display:block}.ck-notes::placeholder{color:var(--text-muted);opacity:1}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf8f5;--surface:#fff;--surface-2:#f4f0e9;--surface-3:#e9e3d8;--overlay:#1412108c;--text:#1c1b19;--text-muted:#605b53;--border:#e4dfd5;--border-strong:#cfc8ba;--control-off:#8a8478;--on-solid:#fff;--brand:#1c2530;--on-brand:#e8eef2;--inverse-bg:var(--brand);--inverse-text:var(--on-brand);--inverse-accent:#f0a94a;--accent:#a8480f;--accent-pressed:#8c3a09;--on-accent:#fff;--accent-bg:#fbeadf;--focus:var(--accent);--ready:#2e7d4f;--ready-bg:#e1f1e6;--ready-text:#1d5a37;--prep:#2a6f97;--prep-bg:#e0eef6;--prep-text:#1d5273;--swap:#7a4fb0;--swap-bg:#ece4f6;--swap-text:#5a3589;--one-away:#c4501b;--one-away-bg:#fbe5d8;--one-away-text:#8a3410;--out:#8a857b;--out-bg:#ece8e0;--out-text:#5f5a52;--warning:#a97b00;--warning-bg:#fbf0c4;--warning-text:#6b5200;--danger:#b3261e;--danger-bg:#fbe0dd;--danger-text:#8c1d17;--on-danger:#fff;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space:var(--space-4);--radius-sm:.5rem;--radius:.75rem;--radius-lg:1.25rem;--radius-pill:999px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--fs-2xs:.75rem;--fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh:1.5;--tap:2.75rem;--tap-md:3rem;--tap-lg:3.5rem;--row-min:3.5rem;--tabbar-height:3.5rem;--content-width:40rem;--safe-top:env(safe-area-inset-top);--safe-right:env(safe-area-inset-right);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--dur-fast:.12s;--dur:.2s;--ease:cubic-bezier(.2, .8, .2, 1);--z-tabbar:10;--z-banner:20;--z-toast:30;--sticky-bar-height:0px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141210;--surface:#1d1a17;--surface-2:#26221e;--surface-3:#312c27;--overlay:#0009;--text:#f2eee8;--text-muted:#a8a196;--border:#2f2b26;--border-strong:#433d36;--control-off:#7b756b;--on-solid:#141210;--inverse-bg:var(--on-brand);--inverse-text:var(--brand);--inverse-accent:#a8480f;--accent:#f0a94a;--accent-pressed:#f5be72;--on-accent:#141210;--accent-bg:#3a2a15;--ready:#5cbf84;--ready-bg:#1b2e23;--ready-text:#8fdcae;--prep:#5aa8d6;--prep-bg:#1a2a36;--prep-text:#8cc6ea;--swap:#b08ae0;--swap-bg:#2a2237;--swap-text:#cdb2f0;--one-away:#e8844f;--one-away-bg:#3a2418;--one-away-text:#f4a97c;--out:#8f897d;--out-bg:#26231f;--out-text:#aaa498;--warning:#e3b93a;--warning-bg:#352c10;--warning-text:#f0d070;--danger:#f0786f;--danger-bg:#3a1a18;--danger-text:#f5a09a;--on-danger:#141210}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:var(--lh);-webkit-tap-highlight-color:transparent;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{min-height:100dvh}.shell__content{max-width:var(--content-width);padding-top:calc(var(--space) + var(--safe-top));padding-right:calc(var(--space) + var(--safe-right));padding-left:calc(var(--space) + var(--safe-left));padding-bottom:calc(var(--tabbar-height) + var(--safe-bottom) + var(--space));margin:0 auto}.tabbar{z-index:var(--z-tabbar);background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);padding-right:var(--safe-right);padding-left:var(--safe-left);position:fixed;bottom:0;left:0;right:0}.tabbar__list{max-width:var(--content-width);margin:0 auto;padding:0;list-style:none;display:flex}.tabbar__item{flex:1 1 0;min-width:0}.tabbar__link{min-height:var(--tabbar-height);color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-medium);flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding:.25rem .125rem;line-height:1.2;text-decoration:none;display:flex}.tabbar__link[aria-current=page]{color:var(--accent);font-weight:var(--fw-semibold)}.tabbar__link:focus-visible{outline:2px solid var(--focus);outline-offset:-4px;border-radius:var(--radius)}.tabbar__icon{width:1.5rem;height:1.5rem}.tabbar__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.screen__title{margin:0 0 var(--space-2);font-size:var(--fs-2xl);line-height:var(--lh-tight)}.screen__purpose{color:var(--text-muted);margin:0}
