.status-bar[data-v-752576c9]{position:relative;display:flex;justify-content:center;cursor:default;max-width:100%;overflow:hidden}.status-inner[data-v-752576c9]{display:flex;align-items:center;gap:6px;max-width:100%;cursor:pointer}.status-text[data-v-752576c9]{font-size:.7rem;color:var(--text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-bar:hover .status-text[data-v-752576c9]{color:var(--text-secondary)}.status-spinner[data-v-752576c9]{display:inline-block;width:8px;height:8px;border:1.5px solid var(--border-default);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.status-popover[data-v-752576c9]{position:absolute;top:100%;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 32px));background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:0 8px 24px color-mix(in srgb,var(--bg-dark) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-md);z-index:200;margin-top:2px}.pop-row[data-v-752576c9]{display:flex;flex-direction:column;gap:2px}.pop-header[data-v-752576c9]{display:flex;justify-content:space-between;align-items:center}.pop-name[data-v-752576c9]{font-size:.8rem;font-weight:600;color:var(--text-primary)}.pop-meta[data-v-752576c9]{font-weight:400;font-size:.72rem;color:var(--text-secondary);margin-left:6px}.pop-detail[data-v-752576c9]{font-size:.75rem;display:flex;align-items:center;gap:4px}.pop-detail.active[data-v-752576c9]{color:var(--primary)}.pop-detail.done[data-v-752576c9]{color:var(--color-available)}.pop-detail.muted[data-v-752576c9]{color:var(--text-muted)}.pop-detail.error[data-v-752576c9]{color:var(--color-out-of-stock)}.pop-divider[data-v-752576c9]{height:1px;background:var(--border-default);margin:var(--space-xs) 0}.btn-sm[data-v-752576c9]{font-size:.7rem;padding:1px 8px}.popover-enter-active[data-v-752576c9]{transition:opacity .15s ease,transform .15s ease}.popover-leave-active[data-v-752576c9]{transition:opacity .1s ease,transform .1s ease}.popover-enter-from[data-v-752576c9],.popover-leave-to[data-v-752576c9]{opacity:0;transform:translate(-50%) translateY(-4px)}.version-badge[data-v-a91a4139]{font-size:.7rem;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;-webkit-user-select:all;user-select:all}.notes-link[data-v-a91a4139]{color:var(--text-muted);text-decoration:none;-webkit-user-select:none;user-select:none}.notes-link[data-v-a91a4139]:hover{color:var(--text-secondary);text-decoration:underline}.app-header[data-v-56fcfd37]{background:transparent;border-bottom:1px solid var(--accent-glow);padding:0 0 10px;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.header-top-bar[data-v-56fcfd37]{display:flex;align-items:center;justify-content:center;position:relative;padding:3px var(--space-lg);border-bottom:1px solid var(--border-default);transition:padding .4s cubic-bezier(.4,0,.2,1)}.top-version[data-v-56fcfd37]{position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);opacity:.4;transition:opacity var(--transition-fast)}.top-version[data-v-56fcfd37]:hover{opacity:1}.header-inner[data-v-56fcfd37]{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100px;padding:0 var(--space-lg) 10px;transition:padding .4s cubic-bezier(.4,0,.2,1)}.logo[data-v-56fcfd37]{position:absolute;left:var(--space-lg);top:50%;transform:translateY(-50%);z-index:101;text-decoration:none;transition:opacity .3s ease,visibility .3s ease}.logo-img[data-v-56fcfd37]{height:100px;width:auto;filter:var(--logo-shadow)}.header-nav[data-v-56fcfd37]{display:flex;justify-content:center;gap:var(--space-md);transition:transform .4s cubic-bezier(.4,0,.2,1)}.nav-icon[data-v-56fcfd37]{width:18px;height:18px;flex-shrink:0}.nav-link[data-v-56fcfd37]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}button.nav-link[data-v-56fcfd37]{background:none;border:none;cursor:pointer;font-family:inherit}.nav-link[data-v-56fcfd37]:hover{color:var(--text-primary);background:var(--bg-elevated)}.nav-link[data-v-56fcfd37]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-link.active[data-v-56fcfd37]{color:var(--accent);background:var(--accent-glow);box-shadow:0 0 12px var(--accent-glow)}.nav-badge[data-v-56fcfd37]{font-size:.65rem;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--color-untappd);color:var(--bg-dark);display:inline-flex;align-items:center;justify-content:center;line-height:1}.nav-spinner[data-v-56fcfd37]{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:nav-spin-56fcfd37 .8s linear infinite;flex-shrink:0;opacity:.7}@keyframes nav-spin-56fcfd37{to{transform:rotate(360deg)}}@media(min-width:1200px){.header-top-bar[data-v-56fcfd37],.header-inner[data-v-56fcfd37]{padding-left:280px}.logo[data-v-56fcfd37]{opacity:0;visibility:hidden;pointer-events:none}.header-top-bar.no-sidebar[data-v-56fcfd37],.header-inner.show-logo[data-v-56fcfd37]{padding-left:var(--space-lg)}.header-inner.show-logo .logo[data-v-56fcfd37]{opacity:1;visibility:visible;pointer-events:auto}}@media(min-width:600px)and (max-width:1199.98px){.logo[data-v-56fcfd37]{display:none}}@media(max-width:600px){.header-inner[data-v-56fcfd37]{height:60px;padding:0 var(--space-md) 10px}.logo[data-v-56fcfd37]{left:var(--space-md)}.logo-img[data-v-56fcfd37]{height:60px}.nav-link[data-v-56fcfd37]{font-size:.8rem;padding:var(--space-xs) var(--space-sm)}.nav-label[data-v-56fcfd37]{display:none}.nav-icon[data-v-56fcfd37]{width:20px;height:20px}.header-nav[data-v-56fcfd37]{gap:var(--space-xs)}}@media(max-width:480px){.logo[data-v-56fcfd37]{display:none}.header-top-bar[data-v-56fcfd37]{flex-direction:column;gap:1px;padding:2px var(--space-md)}.top-version[data-v-56fcfd37]{position:static;transform:none;opacity:.4}}@media(min-width:1200px){:root[data-sidebar-collapsed] .app-header{z-index:102}:root[data-sidebar-collapsed] .header-top-bar{padding-left:var(--space-lg)}:root[data-sidebar-collapsed] .header-inner:not(.show-logo){padding-left:var(--space-lg)}:root[data-sidebar-collapsed] .header-inner:not(.show-logo) .logo{opacity:1;visibility:visible;pointer-events:auto}}.update-banner[data-v-5ac2c19a]{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--text-on-accent);font-size:.875rem;font-weight:500}.update-btn[data-v-5ac2c19a]{padding:.25rem .75rem;border:1.5px solid var(--text-on-accent);border-radius:4px;background:transparent;color:var(--text-on-accent);font-weight:600;font-size:.875rem;cursor:pointer;white-space:nowrap}.update-btn[data-v-5ac2c19a]:hover{background:var(--accent-dark)}.rating-badge[data-v-dcd0e1a2]{display:inline-flex;align-items:center;gap:3px;height:22px;text-decoration:none;color:var(--color-untappd-rating);background:var(--color-untappd-bg);padding:0 6px 0 5px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-untappd-rating) 20%,transparent);transition:all var(--transition-fast);font-size:.85rem}.rating-badge-stacked[data-v-dcd0e1a2]{flex-direction:column;align-items:stretch;gap:0;padding:2px 6px;height:auto}a.rating-badge[data-v-dcd0e1a2]:hover{border-color:var(--color-untappd-rating);background:color-mix(in srgb,var(--color-untappd-rating) 25%,transparent);transform:translateY(-1px);box-shadow:0 2px 6px color-mix(in srgb,var(--color-untappd-rating) 20%,transparent)}.rating-row[data-v-dcd0e1a2]{display:flex;align-items:center;justify-content:space-between;gap:6px}.rating-value[data-v-dcd0e1a2]{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.rating-row-user[data-v-dcd0e1a2]{font-size:.82em;opacity:.8;border-top:1px solid color-mix(in srgb,var(--color-untappd-rating) 15%,transparent);padding-top:1px;margin-top:1px}.untappd-brand[data-v-dcd0e1a2],.user-brand[data-v-dcd0e1a2]{font-size:.65em;font-weight:800;letter-spacing:.05em;opacity:.7}.star[data-v-dcd0e1a2]{font-size:.9em;color:var(--color-untappd-rating)}.star-user[data-v-dcd0e1a2]{font-size:.85em}.rating-num[data-v-dcd0e1a2]{font-weight:700;font-size:.95em}.checkin-count[data-v-dcd0e1a2]{font-size:.8em;opacity:.6;font-weight:500}.taste-score-badge[data-v-b75ad4f8]{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--score-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--score-color) 30%,transparent);white-space:nowrap;flex-shrink:0}.tier-emoji[data-v-b75ad4f8]{font-size:.7rem;line-height:1}.score[data-v-b75ad4f8]{font-weight:700;font-size:.75rem;color:var(--score-color);font-variant-numeric:tabular-nums}.pending-dots[data-v-b75ad4f8]{letter-spacing:1px;animation:taste-score-pending-pulse-b75ad4f8 1.4s ease-in-out infinite}@keyframes taste-score-pending-pulse-b75ad4f8{0%,to{opacity:.55}50%{opacity:.95}}.style-badge[data-v-31d7d8d8]{display:inline-flex;align-items:stretch;min-width:0;max-width:100%;font-size:.78rem;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--transition-fast)}.style-badge[data-v-31d7d8d8]:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border-subtle))}.style-badge-rank[data-v-31d7d8d8],.style-badge-name[data-v-31d7d8d8],.style-badge-temp[data-v-31d7d8d8]{padding:2px 4px;line-height:1.35;display:inline-flex;align-items:center}.style-badge-rank[data-v-31d7d8d8]{flex:0 0 auto;color:var(--accent);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.style-badge-rank[data-v-31d7d8d8]:hover{opacity:.8;text-decoration:underline}.style-badge-name[data-v-31d7d8d8]{flex:0 1 auto;min-width:0;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast);border-left:1px solid var(--border-subtle)}.style-badge-name[data-v-31d7d8d8]:first-child{border-left:none}.style-badge-name.style-badge-clickable[data-v-31d7d8d8]{cursor:pointer}.style-badge-name.style-badge-clickable[data-v-31d7d8d8]:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);text-decoration:underline}.style-badge-temp[data-v-31d7d8d8]{flex:0 0 auto;color:var(--text-muted);white-space:nowrap;border-left:1px solid var(--border-subtle)}.rank-tooltip{position:fixed;z-index:9999;max-width:320px;padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.78rem;color:var(--text-primary);line-height:1.4;box-shadow:0 4px 16px color-mix(in srgb,var(--bg-dark) 40%,transparent);pointer-events:auto}.rank-tooltip strong{color:var(--color-untappd-rating)}.rank-tooltip-content{font-style:italic}.rank-tooltip-desc{margin-top:var(--space-xs);font-style:normal}.rank-desc-taste{font-size:.75rem;color:var(--text-secondary);line-height:1.45}.rank-desc-taste strong{font-weight:600;color:var(--accent)}.rank-desc-process{font-size:.7rem;color:var(--text-muted);line-height:1.45;margin-top:2px}.rank-desc-temp{font-size:.7rem;color:var(--text-secondary);line-height:1.45;margin-top:4px;font-weight:500}.rank-desc-enriched{font-size:.7rem;color:var(--text-muted);line-height:1.45;margin-top:6px;padding-top:4px;border-top:1px solid var(--border-subtle)}.rank-desc-enriched strong{color:var(--accent);font-weight:600}.celebration-overlay[data-v-df05aa65]{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-md)}.celebration-card[data-v-df05aa65]{position:relative;background:var(--bg-card);border-radius:16px;padding:var(--space-xl) var(--space-lg);max-width:480px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:card-entrance-df05aa65 .4s ease-out}@keyframes card-entrance-df05aa65{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dismiss-btn[data-v-df05aa65]{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s}.dismiss-btn[data-v-df05aa65]:hover{background:var(--bg-elevated);color:var(--text-primary)}.fireworks[data-v-df05aa65]{position:absolute;top:0;left:50%;width:0;height:0;pointer-events:none}.particle[data-v-df05aa65]{position:absolute;width:6px;height:6px;border-radius:50%;animation:firework-burst-df05aa65 1.2s ease-out forwards;animation-delay:calc(var(--i) * .04s);--angle: calc(var(--i) * 22.5deg);--distance: calc(80px + var(--i) * 8px);--color: hsl(calc(var(--i) * 25), 80%, 60%);background:var(--color);box-shadow:0 0 6px var(--color)}@keyframes firework-burst-df05aa65{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(calc(cos(var(--angle)) * var(--distance)),calc(sin(var(--angle)) * var(--distance) - 40px)) scale(0);opacity:0}}.celebration-icon[data-v-df05aa65]{text-align:center;font-size:3rem;line-height:1;margin-bottom:var(--space-sm);animation:icon-pop-df05aa65 .5s ease-out .1s both}@keyframes icon-pop-df05aa65{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.celebration-title[data-v-df05aa65]{text-align:center;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 var(--space-xs)}.celebration-subtitle[data-v-df05aa65]{text-align:center;font-size:.875rem;color:var(--text-secondary);margin:0 0 var(--space-lg)}.beer-list[data-v-df05aa65]{flex:1;overflow-y:auto;max-height:50vh;margin:0 calc(-1 * var(--space-lg));padding:0 var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.beer-row[data-v-df05aa65]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border-radius:8px;animation:fade-in .3s ease both;animation-delay:calc(var(--i, 0) * .05s)}.beer-thumb-stack[data-v-df05aa65]{display:flex;flex-direction:column;align-items:stretch;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid color-mix(in srgb,var(--stack-score-color, var(--border-default)) 30%,transparent);box-shadow:var(--shadow-sm)}.beer-thumb-wrap[data-v-df05aa65]{position:relative;width:56px;height:56px;flex-shrink:0}.beer-thumb-wrap[style*=--thumb-bg-image][data-v-df05aa65]:before{content:"";position:absolute;inset:-3px;background:var(--thumb-bg-image) center / cover no-repeat;filter:blur(8px) saturate(1.3);opacity:.12;border-radius:5px;z-index:-1;pointer-events:none}.beer-thumb[data-v-df05aa65]{position:absolute;top:0;left:0;width:56px;height:56px;object-fit:cover;object-position:center;border-radius:0}.beer-thumb-placeholder[data-v-df05aa65]{background:var(--bg-dark)}.thumb-dock-score[data-v-df05aa65] .taste-score-badge{width:100%;border-radius:0;border-top:none;justify-content:center}.beer-info[data-v-df05aa65]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.beer-name[data-v-df05aa65]{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beer-name-link[data-v-df05aa65]{display:block;text-decoration:none;color:var(--text-primary);cursor:pointer;transition:color .15s}.beer-name-link[data-v-df05aa65]:hover{color:var(--primary)}.beer-name-thin[data-v-df05aa65]{display:block;font-weight:400;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.beer-producer[data-v-df05aa65]{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beer-meta[data-v-df05aa65]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.add-to-list-btn[data-v-df05aa65]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);border:none;background:color-mix(in srgb,var(--text-secondary) 20%,transparent);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.add-to-list-btn[data-v-df05aa65]:hover{transform:scale(1.15);background:color-mix(in srgb,var(--text-secondary) 40%,transparent);color:var(--text-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-secondary) 15%,transparent)}.add-to-list-btn.in-list[data-v-df05aa65]{background:var(--text-on-primary);color:var(--bg-dark)}.add-to-list-btn.in-list[data-v-df05aa65]:hover{background:color-mix(in srgb,var(--text-secondary) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-secondary) 20%,transparent)}.add-to-list-btn.is-bought[data-v-df05aa65]{background:var(--color-bought);color:var(--text-on-primary);border:none;box-shadow:0 0 12px var(--color-bought-border);position:relative;overflow:hidden}.add-to-list-btn.is-bought[data-v-df05aa65]:hover{background:color-mix(in srgb,var(--color-bought) 85%,var(--text-on-primary) 15%);box-shadow:0 0 0 3px var(--color-bought-border),0 0 16px var(--color-bought-border)}.add-to-list-btn.is-bought[data-v-df05aa65]:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--color-bought) 25%,var(--text-on-primary) 75%) 50%,transparent 65%);transform:translate(-120%);animation:bought-shimmer-df05aa65 3.6s ease-in-out infinite;pointer-events:none}.add-to-list-btn.is-bought[data-v-df05aa65]:after{content:"";position:absolute;top:3px;right:3px;width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--color-bought) 10%,var(--text-on-primary) 90%);box-shadow:0 0 4px color-mix(in srgb,var(--color-bought) 40%,var(--text-on-primary) 60%);opacity:0;animation:bought-twinkle-df05aa65 2.4s ease-in-out .8s infinite;pointer-events:none}@keyframes bought-shimmer-df05aa65{0%,20%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes bought-twinkle-df05aa65{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.9;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.add-to-list-btn.is-bought[data-v-df05aa65]:before,.add-to-list-btn.is-bought[data-v-df05aa65]:after{animation:none;opacity:0}}.add-to-list-btn.just-added[data-v-df05aa65]{animation:add-to-list-pop-in-df05aa65 .3s ease}@keyframes add-to-list-pop-in-df05aa65{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.beer-score[data-v-df05aa65]{font-size:.75rem;font-weight:700;color:var(--primary);white-space:nowrap}.beer-rating[data-v-df05aa65]{font-size:.8rem;font-weight:600;color:var(--color-untappd);background:var(--color-untappd-bg);padding:1px 6px;border-radius:4px;white-space:nowrap}.beer-rating-link[data-v-df05aa65]{text-decoration:none;cursor:pointer;transition:filter .15s}.beer-rating-link[data-v-df05aa65]:hover{filter:brightness(1.15)}.rating-star[data-v-df05aa65]{font-size:.75rem}.beer-price[data-v-df05aa65]{font-size:.75rem;color:var(--text-secondary)}.section-header[data-v-df05aa65]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;padding:var(--space-xs) 0;border-bottom:1px solid var(--border-subtle)}.section-header-row[data-v-df05aa65]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:1px solid var(--border-subtle)}.section-header-row .section-header[data-v-df05aa65]{padding:0;border-bottom:none}.hide-listed-toggle[data-v-df05aa65]{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.hide-listed-toggle[data-v-df05aa65]:hover{color:var(--text-secondary)}.hide-listed-toggle input[type=checkbox][data-v-df05aa65]{width:12px;height:12px;accent-color:var(--primary);cursor:pointer;margin:0}.hide-listed-label[data-v-df05aa65]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.celebration-actions[data-v-df05aa65]{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-lg)}.celebration-actions .btn[data-v-df05aa65]{padding:var(--space-sm) var(--space-lg);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s;text-align:center}.celebration-actions .btn[data-v-df05aa65]:active{transform:scale(.98)}.btn-primary[data-v-df05aa65]{background:var(--primary);color:var(--text-on-primary)}.btn-primary[data-v-df05aa65]:hover{filter:brightness(1.1)}.btn-secondary[data-v-df05aa65]{background:var(--bg-elevated);color:var(--text-secondary)}.btn-secondary[data-v-df05aa65]:hover{background:var(--bg-dark)}.celebration-enter-active[data-v-df05aa65]{transition:opacity .3s ease}.celebration-leave-active[data-v-df05aa65]{transition:opacity .2s ease}.celebration-enter-from[data-v-df05aa65],.celebration-leave-to[data-v-df05aa65]{opacity:0}.toast-container[data-v-23fa5fb3]{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:9999;display:flex;flex-direction:column-reverse;gap:var(--space-sm);pointer-events:none}.toast-item[data-v-23fa5fb3]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg-elevated) 85%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);color:var(--text-primary);font-size:.85rem;cursor:pointer;pointer-events:auto;position:relative;overflow:hidden;max-width:380px;min-width:240px}.toast-success[data-v-23fa5fb3]{border-color:color-mix(in srgb,var(--color-available) 40%,transparent)}.toast-error[data-v-23fa5fb3]{border-color:color-mix(in srgb,var(--color-out-of-stock) 40%,transparent)}.toast-info[data-v-23fa5fb3]{border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.toast-icon[data-v-23fa5fb3]{width:16px;height:16px;flex-shrink:0}.toast-success .toast-icon[data-v-23fa5fb3]{color:var(--color-available)}.toast-error .toast-icon[data-v-23fa5fb3]{color:var(--color-out-of-stock)}.toast-info .toast-icon[data-v-23fa5fb3]{color:var(--primary-light)}.toast-text[data-v-23fa5fb3]{flex:1;line-height:1.4}.toast-undo[data-v-23fa5fb3]{flex-shrink:0;background:none;border:none;color:var(--accent);font-size:.8rem;font-weight:700;cursor:pointer;padding:2px 4px;border-radius:var(--radius-xs);transition:background var(--transition-fast)}.toast-undo[data-v-23fa5fb3]:hover{background:color-mix(in srgb,var(--accent) 15%,transparent)}.toast-progress[data-v-23fa5fb3]{position:absolute;bottom:0;left:0;height:2px;width:100%;transform-origin:left;animation:toast-shrink-23fa5fb3 linear forwards}.toast-success .toast-progress[data-v-23fa5fb3]{background:var(--color-available)}.toast-error .toast-progress[data-v-23fa5fb3]{background:var(--color-out-of-stock)}.toast-info .toast-progress[data-v-23fa5fb3]{background:var(--primary-light)}@keyframes toast-shrink-23fa5fb3{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-23fa5fb3]{transition:all .25s ease-out}.toast-leave-active[data-v-23fa5fb3]{transition:all .2s ease-in}.toast-enter-from[data-v-23fa5fb3],.toast-leave-to[data-v-23fa5fb3]{opacity:0;transform:translate(40px) scale(.95)}.toast-move[data-v-23fa5fb3]{transition:transform .25s ease}@media(max-width:480px){.toast-container[data-v-23fa5fb3]{left:var(--space-sm);right:var(--space-sm);bottom:var(--space-md)}.toast-item[data-v-23fa5fb3]{max-width:none;min-width:0}}@media(prefers-reduced-motion:reduce){.toast-enter-active[data-v-23fa5fb3],.toast-leave-active[data-v-23fa5fb3]{transition:opacity .1s}.toast-enter-from[data-v-23fa5fb3],.toast-leave-to[data-v-23fa5fb3]{transform:none}.toast-progress[data-v-23fa5fb3]{animation:none}}.scroll-progress[data-v-cf6581e0]{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));z-index:9999;transition:width 50ms linear;pointer-events:none}@media(prefers-reduced-motion:reduce){.scroll-progress[data-v-cf6581e0]{transition:none}}.ambient-particles[data-v-ea264576]{position:fixed;inset:0;z-index:0;pointer-events:none}.back-to-top[data-v-372eaa10]{position:fixed;bottom:var(--space-xl);right:var(--space-xl);width:40px;height:40px;border-radius:50%;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:90;transition:color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.back-to-top[data-v-372eaa10]:hover{color:var(--text-primary);border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}.btt-enter-active[data-v-372eaa10],.btt-leave-active[data-v-372eaa10]{transition:opacity .2s ease,transform .2s ease}.btt-enter-from[data-v-372eaa10],.btt-leave-to[data-v-372eaa10]{opacity:0;transform:translateY(8px)}.back-button[data-v-9c528bc0]{display:none;position:fixed;bottom:var(--space-xl);left:var(--space-xl);width:40px;height:40px;border-radius:50%;border:1px solid var(--border-default);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-muted);cursor:pointer;align-items:center;justify-content:center;z-index:91;transition:color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.back-button[data-v-9c528bc0]:hover{color:var(--text-primary);border-color:var(--primary);box-shadow:0 0 8px var(--primary-glow)}@media(hover:none){.back-button[data-v-9c528bc0]{display:flex}}.back-btn-enter-active[data-v-9c528bc0],.back-btn-leave-active[data-v-9c528bc0]{transition:opacity .2s ease,transform .2s ease}.back-btn-enter-from[data-v-9c528bc0],.back-btn-leave-to[data-v-9c528bc0]{opacity:0;transform:translate(-8px)}.shortcuts-overlay[data-v-0f6cb9e0]{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.shortcuts-modal[data-v-0f6cb9e0]{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-lg);min-width:300px;max-width:400px;box-shadow:var(--shadow-modal)}.shortcuts-header[data-v-0f6cb9e0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.shortcuts-header h3[data-v-0f6cb9e0]{font-size:1rem;color:var(--text-primary);margin:0}.close-btn[data-v-0f6cb9e0]{background:none;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;line-height:1;padding:0 4px}.close-btn[data-v-0f6cb9e0]:hover{color:var(--text-primary)}.shortcuts-list[data-v-0f6cb9e0]{display:flex;flex-direction:column;gap:var(--space-sm)}.shortcut-row[data-v-0f6cb9e0]{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary)}.shortcut-row span[data-v-0f6cb9e0]{margin-left:auto;color:var(--text-muted);font-size:.8rem}kbd[data-v-0f6cb9e0]{display:inline-block;padding:2px 6px;border:1px solid var(--border-default);border-radius:4px;background:var(--bg-elevated);font-family:var(--font-body);font-size:.75rem;color:var(--text-primary);box-shadow:0 1px 0 var(--border-subtle)}.shortcuts-enter-active[data-v-0f6cb9e0],.shortcuts-leave-active[data-v-0f6cb9e0]{transition:opacity .15s ease}.shortcuts-enter-from[data-v-0f6cb9e0],.shortcuts-leave-to[data-v-0f6cb9e0]{opacity:0}.app-main[data-v-bbd1dd39]{flex:1;padding:var(--space-lg) 0}.swipe-hint[data-v-bbd1dd39]{position:fixed;top:0;left:50%;width:80px;height:4px;margin-left:-40px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);border-radius:0 0 4px 4px;z-index:9998;pointer-events:none;transition:transform 80ms ease-out}@media(prefers-reduced-motion:reduce){.swipe-hint[data-v-bbd1dd39]{transition:none}}@media(pointer:fine){.swipe-hint[data-v-bbd1dd39]{display:none!important}}.app-footer[data-v-bbd1dd39]{text-align:center;padding:var(--space-lg) 0 var(--space-md);margin-top:var(--space-lg);font-size:.72rem;color:var(--text-muted);border-top:1px solid var(--border-subtle);letter-spacing:.02em}.app-footer a[data-v-bbd1dd39]{color:var(--text-muted);text-decoration:none}.app-footer a[data-v-bbd1dd39]:hover{color:var(--text-secondary);text-decoration:underline}:root{--banner-height: 0px;--bg-darkest: #090c0a;--bg-dark: #0e1512;--bg-card: #141d19;--bg-elevated: #1b2723;--bg-input: #0e1512;--primary: #00752f;--primary-light: #0d9d4a;--primary-dark: #005221;--primary-glow: rgba(0, 117, 47, .15);--accent: #E8C840;--accent-light: #F0D87A;--accent-dark: #C4A018;--accent-glow: rgba(232, 200, 64, .15);--text-primary: #dce4df;--text-secondary: #7f9889;--text-muted: #506a5a;--text-on-primary: #ffffff;--text-on-accent: #1a1400;--border-subtle: rgba(0, 117, 47, .08);--border-default: rgba(0, 117, 47, .12);--border-strong: rgba(0, 117, 47, .3);--color-available: #4caf50;--color-available-bg: rgba(76, 175, 80, .15);--color-available-border: rgba(76, 175, 80, .3);--color-order: #5c9bd6;--color-order-dark: #3a7bbf;--color-order-bg: rgba(92, 155, 214, .15);--color-order-border: rgba(92, 155, 214, .3);--color-out-of-stock: #d4553a;--color-out-of-stock-bg: rgba(212, 85, 58, .15);--color-out-of-stock-border: rgba(212, 85, 58, .3);--color-temporary: #e8943a;--color-temporary-bg: rgba(232, 148, 58, .15);--color-temporary-border: rgba(232, 148, 58, .3);--color-tasted: #e06090;--color-tasted-bg: rgba(224, 96, 144, .15);--color-tasted-border: rgba(224, 96, 144, .3);--color-bought: #E8C840;--color-bought-bg: rgba(232, 200, 64, .15);--color-bought-border: rgba(232, 200, 64, .3);--color-new: #b8cc26;--color-new-bg: rgba(184, 204, 38, .15);--color-new-border: rgba(184, 204, 38, .3);--color-soon: #b088d4;--color-soon-bg: rgba(176, 136, 212, .15);--color-soon-border: rgba(176, 136, 212, .3);--color-limited: #2a9d8f;--color-limited-bg: rgba(42, 157, 143, .15);--color-limited-border: rgba(42, 157, 143, .3);--color-local: #c4823a;--color-local-bg: rgba(196, 130, 58, .15);--color-local-border: rgba(196, 130, 58, .3);--color-untappd: #e8a435;--color-untappd-rating: #e8a435;--color-untappd-bg: rgba(232, 164, 53, .15);--color-sb-brand: #FFCB05;--color-sb-text: #FFCB05;--color-sb-bg: rgba(255, 203, 5, .1);--color-sb-border: rgba(255, 203, 5, .2);--match-high: var(--accent-light);--match-medium: var(--accent);--match-low: var(--accent-dark);--coverage-exact: #4caf50;--coverage-affinity: #66bb6a;--coverage-keyword: #42a5f5;--beer-ale: #d4882a;--beer-lager: #e8c44a;--beer-pilsner: #f5e6a3;--beer-copper: #a0522d;--beer-stout: #3b2314;--interactive-glow: rgba(36, 160, 106, .25);--danger-bg: rgba(212, 85, 58, .1);--bg-body-gradient: linear-gradient( to bottom, rgba(250, 205, 25, .07) 0%, rgba(235, 155, 15, .05) 35%, rgba(215, 115, 10, .04) 65%, rgba(180, 90, 20, .06) 100% );--card-glass-gradient: linear-gradient(135deg, rgba(255, 255, 255, .01) 0%, transparent 50%);--overlay-backdrop: rgba(0, 0, 0, .6);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .4);--listed-border: rgba(255, 255, 255, .35);--listed-highlight: rgba(255, 255, 255, .5);--listed-glow: 0 0 12px rgba(255, 255, 255, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(0, 117, 47, .1);--shadow-gold: 0 0 20px rgba(232, 200, 64, .1);--glass-text-shadow: 0 1px 3px rgba(0, 0, 0, .5);--glass-text-shadow-soft: 0 1px 2px rgba(0, 0, 0, .3);--glass-text-shadow-strong: 0 1px 4px rgba(0, 0, 0, .7);--glass-text-shadow-medium: 0 1px 3px rgba(0, 0, 0, .5);--glass-bg: color-mix(in srgb, var(--bg-dark) 50%, transparent);--glass-blur: blur(12px) saturate(1.1);--card-glass-bg: color-mix(in srgb, var(--bg-dark) 25%, transparent);--card-glass-blur: blur(4px) saturate(1.05);--card-header-bg: color-mix(in srgb, var(--bg-elevated) 55%, transparent);--filter-glass-bg: color-mix(in srgb, var(--bg-dark) 25%, transparent);--filter-glass-blur: blur(6px) saturate(1.05);--filter-control-bg: color-mix(in srgb, var(--bg-elevated) 55%, transparent);--sidebar-glass-bg: var(--filter-glass-bg);--sidebar-glass-blur: var(--filter-glass-blur);--sidebar-control-bg: var(--filter-control-bg);--logo-shadow: drop-shadow(0 3px 6px rgba(0, 0, 0, .7)) drop-shadow(0 0 12px var(--accent-glow));--logo-shadow-lg: drop-shadow(0 4px 8px rgba(0, 0, 0, .6)) drop-shadow(0 0 20px var(--accent-glow));--pulse-glow-sm: 0 0 5px rgba(36, 160, 106, .2);--pulse-glow-lg: 0 0 20px rgba(36, 160, 106, .4);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-display: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Consolas", monospace;--transition-fast: .1s ease-out;--transition-base: .15s ease-out;--transition-slow: .25s ease-out}@keyframes float-up{0%{transform:translateY(100%) scale(.5);opacity:0}10%{opacity:.6}to{transform:translateY(-100vh) scale(1);opacity:0}}@keyframes sway{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}@keyframes fill-bar{0%{width:0%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:var(--pulse-glow-sm)}50%{box-shadow:var(--pulse-glow-lg)}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fade-in .2s ease both}.shimmer{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.slide-fade-enter-active{transition:all .15s ease-out}.slide-fade-leave-active{transition:all .1s ease-in}.slide-fade-enter-from{transform:translate(20px);opacity:0}.slide-fade-leave-to{transform:translate(-20px);opacity:0}.fade-enter-active{transition:opacity .2s ease-out,transform .2s ease-out}.fade-leave-active{transition:opacity .12s ease-in}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0}.list-enter-active{transition:all .2s ease-out}.list-leave-active{transition:all .15s ease-in}.list-enter-from{opacity:0;transform:translateY(20px)}.list-leave-to{opacity:0;transform:translateY(-20px)}.list-move{transition:transform .2s ease}.page-title,.page-intro{animation:fade-in .3s ease-out both}.page-intro{animation-delay:.05s}.card-enter{animation:fade-in .35s ease-out both}.card-enter:nth-child(1){animation-delay:.05s}.card-enter:nth-child(2){animation-delay:.1s}.card-enter:nth-child(3){animation-delay:.15s}.card-enter:nth-child(4){animation-delay:.2s}.card-enter:nth-child(5){animation-delay:.25s}.card-enter:nth-child(6){animation-delay:.3s}.card-enter:nth-child(7){animation-delay:.35s}.card-enter:nth-child(8){animation-delay:.4s}.accent-glow{text-shadow:0 0 12px var(--accent-glow)}[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .45s ease-out,transform .45s ease-out}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal="1"]{transition-delay:.06s}[data-reveal="2"]{transition-delay:.12s}[data-reveal="3"]{transition-delay:.18s}[data-reveal="4"]{transition-delay:.24s}[data-reveal="5"]{transition-delay:.3s}[data-reveal="6"]{transition-delay:.36s}@media(prefers-reduced-motion:reduce){.page-title,.page-intro,.card-enter{animation:none}.fade-enter-active{transition:opacity .1s ease;transform:none}.fade-enter-from{transform:none}[data-reveal]{opacity:1;transform:none;transition:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;scrollbar-gutter:stable}body{font-family:var(--font-body);background:var(--bg-darkest);background-image:var(--bg-body-gradient);background-attachment:fixed;color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-display);color:var(--accent-light);line-height:1.3;letter-spacing:-.01em}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text-primary)}.container{max-width:1600px;margin:0 auto;padding:0 var(--space-lg)}@media(max-width:600px){.container{padding:0 var(--space-md)}}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 16px;border:none;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--primary-light);box-shadow:var(--shadow-glow),var(--shadow-md),inset 0 0 0 2px var(--accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled:hover{background:var(--primary);box-shadow:none}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--primary-dark)}.btn-secondary:hover{border-color:var(--primary);background:var(--bg-card)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--primary)}.btn-sm{font-size:.75rem;padding:4px 12px}.btn-danger{background:var(--color-out-of-stock)!important;color:var(--text-on-primary)!important}.btn-danger:hover{box-shadow:inset 0 0 0 2px var(--accent)}.btn-danger-outline{background:transparent;color:var(--color-out-of-stock);border:1px solid var(--color-out-of-stock-border)}.btn-danger-outline:hover{background:var(--color-out-of-stock-bg);border-color:var(--color-out-of-stock)}.text-action-btn{background:none;border:none;font-size:.65rem;font-weight:600;color:var(--text-muted);cursor:pointer;padding:2px 0;text-transform:uppercase;letter-spacing:.04em;transition:color var(--transition-fast)}.text-action-btn:hover{color:var(--text-secondary)}.text-action-btn.disabled,.text-action-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.card{background:var(--card-glass-bg);background-image:var(--card-glass-gradient);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);backdrop-filter:var(--card-glass-blur);-webkit-backdrop-filter:var(--card-glass-blur);transition:all var(--transition-base)}.card:hover{border-color:var(--accent-dark);box-shadow:var(--shadow-md),var(--shadow-gold)}.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--primary-dark);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;transition:border-color var(--transition-fast)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.input::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;flex-shrink:0}.badge-icon{width:14px;height:14px;flex-shrink:0}.badge-fs{background:var(--color-available-bg);color:var(--color-available);border:1px solid var(--color-available-border)}.badge-bs{background:var(--color-order-bg);color:var(--color-order);border:1px solid var(--color-order-border)}.badge-oos{background:var(--color-out-of-stock-bg);color:var(--color-out-of-stock);border:1px solid var(--color-out-of-stock-border)}.badge-tse{background:var(--color-temporary-bg);color:var(--color-temporary);border:1px solid var(--color-temporary-border)}.badge-tasted{background:var(--color-tasted-bg);color:var(--color-tasted);border:1px solid var(--color-tasted-border)}.badge-soon{background:var(--color-soon-bg);color:var(--color-soon);border:1px solid var(--color-soon-border)}.badge-limited{background:var(--color-limited-bg);color:var(--color-limited);border:1px solid var(--color-limited-border)}.badge-local{background:var(--color-local-bg);color:var(--color-local);border:1px solid var(--color-local-border)}.badge-new{background:var(--color-new-bg);color:var(--color-new);border:1px solid var(--color-new-border)}.badge-restock{background:var(--color-temporary-bg);color:var(--color-temporary);border:1px solid var(--color-temporary-border)}.badge-seasonal{background:var(--color-bought-bg);color:var(--color-bought);border:1px solid var(--color-bought-border)}@media(prefers-reduced-motion:reduce){.btn,.card,a,.input{transition:none}.btn:active:not(:disabled){transform:none}}
