@layer reset,base,components,utilities;@view-transition{navigation: auto;}#app{view-transition-name:main-content}:root{--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.75rem;--font-size-display:2.25rem;--baseline:.75rem;--line-height-tight:.75rem;--line-height-normal:1.5rem;--line-height-relaxed:1.3125rem;--line-height-heading:2.25rem;--height-2-baselines:3rem;--height-3-baselines:4.5rem;--height-4-baselines:6rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-tight:-.02em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--color-limestone:#e8dfd4;--color-limestone-light:#f2ebe3;--color-limestone-dark:#d9cdbf;--color-sand:#d4c4b0;--color-sand-dark:#bfab93;--color-terracotta-rich:#b8634d;--color-wine-barrel:#8b5a3c;--color-charcoal:#1a1614;--color-charcoal-light:#2d2926;--color-charcoal-lighter:#3f3a36;--color-cream:#f8f6f1;--color-cream-light:#faf8f4;--color-cream-dark:#ebe7df;--color-cream-darker:#ddd7ca;--color-copper:#936344;--color-copper-light:#b8836a;--color-copper-dark:#7d5539;--color-copper-darker:#5e3f2a;--color-slate:#5a6e7f;--color-slate-light:#738a9c;--color-slate-dark:#475563;--form-field-label-color:var(--color-slate);--color-terracotta:#c8826d;--color-terracotta-light:#d9a08d;--color-terracotta-dark:#a6654e;--color-bg-base:var(--color-cream);--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-bg-overlay:#1a161499;--color-bg-overlay-dark:#14100eeb;--color-bg-overlay-light:#f8f6f1cc;--swatch-vineyard-bg:#e8dfd4;--swatch-vineyard-accent:#936344;--swatch-cellar-bg:#231f1c;--swatch-cellar-accent:#c8826d;--swatch-verdure-bg:#f0f4ec;--swatch-verdure-accent:#a85a38;--swatch-adriatic-bg:#f4f8fb;--swatch-adriatic-accent:#9d5a44;--swatch-chip-border:#0000001f;--color-bg-hover:var(--color-cream-dark);--color-bg-active:var(--color-cream-darker);--color-text-heading:#2a1f16;--color-text-primary:#3a2f26;--color-text-secondary:#5a4d42;--color-text-tertiary:#897b6e;--color-text-muted:#a89987;--color-text-inverse:var(--color-cream);--color-border-subtle:#e8e3dc;--color-border-default:#d4cec3;--color-border-strong:var(--color-charcoal-lighter);--color-accent-primary:var(--color-copper);--color-accent-secondary:var(--color-slate);--color-accent-interactive:var(--color-terracotta);--color-surface:var(--color-bg-surface);--color-surface-elevated:var(--color-bg-elevated);--color-brand-primary:var(--color-accent-primary);--color-wine-red:#8b4049;--color-wine-white:#c5a875;--color-wine-rose:#d47b84;--color-wine-sparkling:#7a9b84;--color-window-past-peak:var(--color-terracotta-dark);--color-window-optimal:var(--color-success);--color-window-opening-soon:var(--color-warning);--color-window-hold:var(--color-slate-light);--color-window-unknown:var(--color-cream-darker);--color-success:#567d5f;--color-success-bg:#e8f0ea;--color-warning:#9b7d4a;--color-warning-bg:#f5efe3;--color-error:#9b4a4a;--color-error-bg:#f5e8e8;--color-info:var(--color-slate);--color-info-bg:#e8ecf0;--color-error-dark:#8b3a3a;--color-rating-bad:#9b4a4a;--color-rating-bad-bg:#f5e8e8;--color-rating-bad-dark:#7d3a3a;--color-rating-ok:#9b7d4a;--color-rating-ok-bg:#f5efe3;--color-rating-ok-dark:#7d6238;--color-rating-good:#567d5f;--color-rating-good-bg:#e8f0ea;--color-rating-good-dark:#44644c;--color-rating-very-good:#5a6e7f;--color-rating-very-good-bg:#e8ecf0;--color-rating-very-good-dark:#475563;--color-rating-excellent:#7d5a78;--color-rating-excellent-bg:#f0e8ef;--color-rating-excellent-dark:#634860;--color-rating-spectacular:#a8843c;--color-rating-spectacular-bg:#f5eedc;--color-rating-spectacular-dark:#8a6c30;--color-rating-star:#a8843c;--color-rating-star-hover:#c8a050;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:50%;--shadow-sm:0 1px 3px #3a2f2614;--shadow-md:0 4px 12px #3a2f261a;--shadow-lg:0 8px 24px #3a2f261f;--shadow-xl:0 16px 48px #3a2f2626;--shadow-ink:0 2px 8px #b8634d26;--shadow-below:0 4px 8px -2px #3a2f261f;--focus-ring-color:color-mix(in srgb,var(--color-accent-primary)15%,transparent);--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1);--transition-slower:.5s cubic-bezier(.4,0,.2,1);--transition-button:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);--transition-input:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);--transition-lift:box-shadow var(--transition-base),transform var(--transition-base);--scrollbar-width:8px;--sidebar-width:285px;--mobile-header-height:56px;--mobile-touch-target:44px;--content-narrow-width:820px;--content-wide-width:1000px;--prose-max-width:720px;--bottom-nav-height:60px;--control-height-btn:26px;--control-height-input:34px;--dialog-width-xs:320px;--dialog-width-sm:420px;--dialog-width-md:580px;--dialog-width-lg:900px;--dialog-height-sm:480px;--dialog-height-lg:800px;--recommender-card-width:160px;--recommender-card-img-height:9rem;--discover-history-width:260px;--z-base:0;--z-raised:3;--z-sticky:10;--z-header:100;--z-overlay:500;--z-sidebar:600;--z-modal:1000;--icon-size-sm:16px;--icon-size-base:20px;--icon-size-lg:24px;--icon-stroke-width:1.75px;--icon-stroke-width-emphasis:2px}@layer reset{*,*:before,*:after{box-sizing:border-box}}@layer base{html{font-size:16px}html,body{overflow:hidden;height:100%;margin:0}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);text-box-trim:trim-start;text-box-edge:cap alphabetic;text-wrap:balance;margin-block-start:0;line-height:1}input[type=text],input[type=number],input[type=email],input[type=search],textarea,select{font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:var(--space-1)var(--space-2);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}:is(input[type=text],input[type=number],input[type=email],input[type=search],textarea,select):focus{outline:none;border-color:var(--color-accent-primary);background-color:var(--color-bg-elevated);box-shadow:0 0 0 3px var(--focus-ring-color)}:is(input[type=text],input[type=number],input[type=email],input[type=search],textarea,select)::placeholder{color:var(--color-text-muted)}:is(input[type=text],input[type=number],input[type=email],input[type=search],textarea,select):disabled{opacity:.5;cursor:not-allowed}:is(input[type=text],input[type=number],input[type=email],input[type=search],textarea,select):user-invalid{border-color:var(--color-error);box-shadow:0 0 0 3px #b43c3c1a}select{cursor:pointer}select:hover:not(:disabled){border-color:var(--color-copper-dark)}button{font-family:var(--font-body);font-size:inherit;font-weight:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-copper-dark)}}@layer components{.app-layout{display:flex;position:relative;background-color:var(--color-bg-base);opacity:0;transition:opacity var(--transition-fast);height:100%}html.app-ready .app-layout{opacity:1}@media (max-width:767.999px){.app-layout{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--bottom-nav-height)}body.keyboard-open .app-layout{padding-bottom:0}}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,var(--color-limestone-light)0%,var(--color-limestone)100%);color:var(--color-text-primary);padding:var(--space-6)0 var(--space-3);display:flex;border-inline-end:1px solid var(--color-border-default);box-shadow:var(--shadow-sm);position:relative;flex-direction:column;flex-shrink:0}.sidebar .sidebar-brand{display:block;text-decoration:none;color:inherit;margin-block-end:var(--space-6)}.sidebar h1{padding-inline:var(--space-5);color:var(--color-text-heading);margin-block-end:0;font-size:3rem}.sidebar:before{content:"";position:absolute;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");inset:0}.sidebar h1{position:relative;z-index:2}.sidebar nav{position:relative;z-index:2}@media (min-width:768px) and (max-width:1015px){.sidebar{position:fixed;z-index:var(--z-sidebar);overflow:hidden;transition:box-shadow var(--transition-fast);width:60px;height:100%;top:0;left:0}.sidebar .sidebar-brand{position:relative}.sidebar .sidebar-brand h1{visibility:hidden}.sidebar .sidebar-brand:after{content:"W";position:absolute;display:flex;font-family:var(--font-display);color:var(--color-text-heading);z-index:2;justify-content:center;align-items: center;font-size:3rem;inset:0}.sidebar .sidebar-footer{display:none}.sidebar .nav-label{display:none}.sidebar .main-nav a{justify-content:center;padding-inline-start:0;padding-inline-end:0}.sidebar:hover{overflow-y:auto;box-shadow:var(--shadow-lg);width:265px}.sidebar:hover .sidebar-brand h1{visibility:visible}.sidebar:hover .sidebar-brand:after{display:none}.sidebar:hover .sidebar-footer{display:flex}.sidebar:hover .nav-label{display:inline}.sidebar:hover .main-nav a{justify-content:flex-start;padding-inline-start:var(--space-5);padding-inline-end:calc(var(--space-5) - 2px)}}@media (max-width:767.999px){.sidebar{position:fixed;z-index:var(--z-sidebar);transition:transform var(--transition-fast);overflow-y:auto;height:100%;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}body.cooking-mode .menu-toggle{visibility:hidden}@media (min-width:1015px){body.cooking-mode .main-content{margin-inline-start:60px}body.cooking-mode .sidebar{position:fixed;z-index:var(--z-sidebar);overflow:hidden;transition:box-shadow var(--transition-fast);width:60px;height:100%;top:0;left:0}body.cooking-mode .sidebar .sidebar-brand{position:relative}body.cooking-mode .sidebar .sidebar-brand h1{visibility:hidden}body.cooking-mode .sidebar .sidebar-brand:after{content:"W";position:absolute;display:flex;font-family:var(--font-display);color:var(--color-text-heading);z-index:2;justify-content:center;align-items: center;font-size:3rem;inset:0}body.cooking-mode .sidebar .sidebar-footer{display:none}body.cooking-mode .sidebar .nav-label{display:none}body.cooking-mode .sidebar .main-nav a{justify-content:center;padding-inline-start:0;padding-inline-end:0}body.cooking-mode .sidebar:hover{overflow-y:auto;box-shadow:var(--shadow-lg);width:265px}body.cooking-mode .sidebar:hover .sidebar-brand h1{visibility:visible}body.cooking-mode .sidebar:hover .sidebar-brand:after{display:none}body.cooking-mode .sidebar:hover .sidebar-footer{display:flex}body.cooking-mode .sidebar:hover .nav-label{display:inline}body.cooking-mode .sidebar:hover .main-nav a{justify-content:flex-start;padding-inline-start:var(--space-5);padding-inline-end:calc(var(--space-5) - 2px)}}.sidebar-overlay{display:none;position:fixed;background-color:var(--color-bg-overlay);z-index:var(--z-overlay);backdrop-filter:blur(4px);opacity:0;transition:opacity var(--transition-base);inset:0}.sidebar-overlay.open{display:block;opacity:1}@media (min-width:768px) and (max-width:1015px){.app-layout:has(.sidebar:hover) .sidebar-overlay{display:block;opacity:1}}.mobile-header{display:none}.mobile-app-title{font-family:var(--font-display);font-size:1.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-heading);letter-spacing:var(--letter-spacing-tight);margin:0}.menu-toggle{display:none}@media (max-width:767.999px){.menu-toggle{display:flex;width:var(--mobile-touch-target);height:var(--mobile-touch-target);color:var(--color-wine-barrel);border:1px solid var(--color-terracotta-rich);cursor:pointer;font-size:var(--font-size-xl);border-radius:var(--radius-sm);text-transform:none;background-color:#0000;flex-shrink:0;justify-content:center;align-items: center;padding:0}.menu-toggle:hover{background-color:var(--color-terracotta-rich);color:var(--color-cream)}}.main-content{display:flex;background-color:var(--color-bg-base);overflow:hidden;position:relative;flex-direction:column;flex-grow:1}@media (min-width:768px) and (max-width:1015px){.main-content{margin-inline-start:60px}}@media (max-width:767.999px){.main-content{display:block;overflow:visible}}#app{display:flex;overflow:hidden;flex-direction:column;flex-grow:1;width:100%;max-width:100%;margin:0}@media (max-width:767.999px){#app{display:block;overflow:visible}}wine-list,chat-assistant,wine-table-view{display:flex;overflow:hidden;flex-direction:column;flex-grow:1;min-height:0}@media (max-width:767.999px){:is(wine-list,chat-assistant,wine-table-view){display:block}}settings-index-view,settings-taste-profile-view,settings-appearance-view,settings-cooking-memory-view,settings-token-usage-view,chat-list-view,tasting-history-view,home-view,cellar-view,cellar-analytics-view,cellar-timeline-view,shopping-view,meal-planner-view,pantry-view,side-dishes-view,side-dish-detail-view,recipe-view,recipe-archive-view,cooking-view,editorial-import-page,wine-menu-page,knowledge-capture-page,knowledge-base-view,knowledge-entry-view,model-eval-view,discover-view{overflow-y:auto;flex-grow:1;min-height:0}@media (max-width:767.999px){:is(settings-index-view,settings-taste-profile-view,settings-appearance-view,settings-cooking-memory-view,settings-token-usage-view,chat-list-view,tasting-history-view,home-view,cellar-view,cellar-analytics-view,cellar-timeline-view,shopping-view,meal-planner-view,pantry-view,side-dishes-view,side-dish-detail-view,recipe-view,recipe-archive-view,cooking-view,editorial-import-page,wine-menu-page,knowledge-capture-page,knowledge-base-view,knowledge-entry-view,model-eval-view,discover-view){overflow-y:visible}}.nav-cooking-sessions,.nav-inflight-ops{border-block-start:1px solid var(--color-border-subtle);padding-block-start:var(--space-3)}.nav-cooking-label,.nav-inflight-label{display:flex;align-items: center;gap:var(--space-2);padding-inline:var(--space-5);padding-block:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted)}.nav-inflight-icon{display:flex;animation:1s linear infinite inflight-spin;flex-shrink:0;align-items: center}.nav-inflight-icon svg{width:14px;height:14px}@keyframes inflight-spin{to{transform:rotate(360deg)}}.nav-inflight-ops--completed{border-block-start:none;padding-block-start:0}.nav-inflight-icon--done{animation:none;color:var(--color-slate)}.nav-inflight-check{display:flex;color:var(--color-slate);flex-shrink:0;align-items: center}.nav-inflight-check svg{width:14px;height:14px}.main-nav{display:flex;overflow-y:auto;flex-direction:column;flex:1;min-height:0}.main-nav section{margin-block-end:var(--space-6)}.main-nav section:last-child{margin-block-end:0}.main-nav a{color:var(--color-text-secondary);text-decoration:none;padding:var(--space-3)var(--space-5);display:flex;align-items: center;gap:var(--space-3);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast),color var(--transition-fast);letter-spacing:var(--letter-spacing-wide);border-inline-end:2px solid #0000;margin-block-end:0;padding-inline-end:calc(var(--space-5) - 2px)}.main-nav a:hover{background-color:var(--color-sand-dark);color:var(--color-text-heading)}.main-nav a.active{background-color:var(--color-sand);font-weight:var(--font-weight-semibold);color:var(--color-wine-barrel);border-inline-end:2px solid var(--color-terracotta-rich)}.nav-icon{display:flex;width:var(--line-height-normal);height:var(--line-height-normal);flex-shrink:0;justify-content:center;align-items: center}.nav-icon svg{width:100%;height:100%}.sidebar-footer{padding:var(--space-3)var(--space-5);border-block-start:1px solid var(--color-border-default);display:flex;gap:var(--space-3);flex-direction:column}.sidebar-footer-actions{display:flex;justify-content:space-between;align-items: center}.sidebar-user-email{font-size:var(--font-size-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.sidebar-footer-icons{display:flex;align-items: center;gap:var(--space-1);flex-shrink:0}.sign-out-button,.sidebar-icon-btn{padding:var(--space-1);color:var(--color-text-muted);display:flex;border-radius:var(--radius-sm);text-decoration:none;position:relative;transition:color var(--transition-fast);flex-shrink:0;align-items: center}:is(.sign-out-button,.sidebar-icon-btn):hover{color:var(--color-wine-barrel)}.nav-section-title{font-family:var(--font-body);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-wine-barrel);font-weight:var(--font-weight-semibold);padding-inline:var(--space-5);text-decoration:underline;margin-block-end:var(--space-3)}.chat-link-container{display:flex;border-inline-end:2px solid #0000;justify-content:space-between;align-items: center;margin-block-end:0}.chat-link-container:hover{background-color:var(--color-sand-dark)}.chat-link-container:hover .delete-chat-button{display:block}.chat-link-container.active{background-color:var(--color-sand);border-inline-end:2px solid var(--color-terracotta-rich);border-inline-start:none}.chat-link-container.active a{color:var(--color-wine-barrel);border-inline-start:none;border-inline-end:none}.chat-link-container a{padding:var(--space-3)var(--space-5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-inline-start:none;flex-grow:1;margin-block-end:0;padding-inline-start:calc(var(--space-5) - 2px)}.delete-chat-button{border:none;border-inline-start:1px solid var(--color-sand);color:var(--color-wine-barrel);cursor:pointer;font-size:var(--font-size-lg);padding-inline:var(--space-3);display:none;z-index:1;position:relative;text-transform:none;background:0 0;border-radius:0;line-height:1}.delete-chat-button:hover{color:var(--color-terracotta-rich);background-color:var(--color-sand)}#new-chat-button{margin-block-end:var(--space-3);margin-inline:var(--space-3);width:calc(100% - var(--space-3)*2);background:linear-gradient(135deg,var(--color-copper)0%,var(--color-copper-dark)100%);color:var(--color-cream);border:1px solid var(--color-copper-light);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-ink)}#new-chat-button:hover{background:linear-gradient(135deg,var(--color-copper-light)0%,var(--color-copper)100%);border-color:var(--color-copper-light);box-shadow:var(--shadow-md)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@layer components{.icon-spin{animation:1s linear infinite icon-spin}.mobile-bottom-nav{display:none}@media (max-width:767.999px){.mobile-bottom-nav{display:flex;position:fixed;height:var(--bottom-nav-height);background:var(--color-bg-surface);border-top:1px solid var(--color-border-default);z-index:var(--z-header);view-transition-name:mobile-nav;align-items:stretch;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #3a2f2614}}.mobile-bottom-nav.keyboard-open{display:none}.mobile-bottom-nav-item{display:flex;color:var(--color-text-tertiary);text-decoration:none;padding-block:var(--space-3);transition:color var(--transition-fast);border-inline-start:1px solid var(--color-border-default);flex:1;justify-content:center;align-items: center}.mobile-bottom-nav-item:first-child{border-inline-start:none}.mobile-bottom-nav-item.active{color:var(--color-accent-primary);background-color:color-mix(in srgb,var(--color-accent-primary)6%,transparent)}.mobile-bottom-nav-item:active{transform:scale(.94)}.baseline-grid-overlay{position:fixed;pointer-events:none;z-index:9999;background-image:linear-gradient(#0000 calc(100% - 1px),#c8005059 calc(100% - 1px)),linear-gradient(#0000 calc(100% - 1px),#3250c81f calc(100% - 1px));background-size:100% var(--line-height-normal),100% var(--baseline);display:none;background-repeat:repeat;inset:0}html.baseline-grid-active .baseline-grid-overlay{display:block}.baseline-grid-toggle.baseline-grid-toggle--active{color:#c80050b3}.narrow-view{width:var(--content-narrow-width);padding-block-start:var(--space-6);padding-inline:var(--space-6);max-width:100%}@media (max-width:767.999px){.narrow-view{padding-block-start:var(--space-3);padding-inline:var(--space-3)}}.wide-view{width:var(--content-wide-width);padding-block-start:var(--space-6);padding-inline:var(--space-6);max-width:100%}@media (max-width:767.999px){.wide-view{padding-block-start:var(--space-3);padding-inline:var(--space-3)}}.view-header{margin-bottom:var(--space-6)}.view-header h1{font-size:var(--font-size-display);margin-block-end:var(--space-2);padding-block-start:.333333cap}.view-header .view-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.btn-primary{background:var(--color-copper);border:1px solid var(--color-copper-dark);color:var(--color-text-inverse);height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);align-items: center}.btn-primary:hover{background-color:var(--color-copper-dark);border-color:var(--color-copper-darker);box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.97)}.btn-primary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn-secondary{background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-primary);height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);align-items: center}.btn-secondary:hover{background-color:var(--color-cream-dark);border-color:var(--color-copper)}.btn-secondary:active{transform:scale(.97)}.btn-secondary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn-icon{display:inline-flex;height:var(--line-height-normal);padding:0 var(--space-2);cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items: center}.btn-icon:hover:not(:disabled){background:var(--color-sand-dark);color:var(--color-text-primary)}.btn-icon:active:not(:disabled){transform:scale(.92)}.btn-icon:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-icon:disabled{opacity:.4;cursor:default;pointer-events:none}.btn-ghost{background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-4);transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);align-items: center}.btn-ghost:hover{background-color:var(--color-accent-primary);color:var(--color-text-inverse);border-color:var(--color-copper-dark);box-shadow:var(--shadow-ink)}.btn-ghost:active{transform:scale(.97)}.btn-ghost:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-ghost:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn-inline{height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-3);border:1px solid var(--color-border-default);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);background:0 0;border-radius:0;align-items: center}.btn-inline:hover{background-color:var(--color-accent-primary);color:var(--color-text-inverse);border-color:var(--color-copper-dark)}.btn-inline:active{transform:scale(.97)}.btn-inline:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-inline:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.dialog{background:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;border:none;flex-direction:column;padding:0}.dialog:not([open]):not([popover]){display:none}.dialog[popover]:not(:popover-open){display:none}.dialog:-webkit-any(dialog)::backdrop{background-color:var(--color-bg-overlay);backdrop-filter:blur(4px)}.dialog:-moz-any(dialog)::backdrop{background-color:var(--color-bg-overlay);backdrop-filter:blur(4px)}.dialog:is(dialog)::backdrop{background-color:var(--color-bg-overlay);backdrop-filter:blur(4px)}.dialog-header{padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--dialog-header-border,var(--color-border-default));display:flex;justify-content:space-between;align-items: center;gap:var(--space-4);flex-shrink:0}.dialog-header h2{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}.dialog-close{border:1px solid var(--color-border-default);font-size:var(--font-size-xl);padding:var(--space-2);color:var(--color-text-secondary);border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items: center;width:40px;height:40px}.dialog-close:hover{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.dialog-close:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.dialog-body{padding:var(--space-5);overflow-y:scroll;background-color:var(--color-bg-base);flex-grow:1}@media (min-width:768px){.dialog-body{overflow-y:auto}}.dialog-footer{padding:var(--space-4)var(--space-5);border-top:1px solid var(--color-border-default);display:flex;gap:var(--space-3);background:var(--color-bg-surface);flex-shrink:0;justify-content:flex-end}.delete-popover{position-area:top;margin-bottom:var(--space-3);position-try-fallbacks:--delete-popover-pin-left;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-4);max-width:var(--dialog-width-xs);min-width:220px}@position-try --delete-popover-pin-left{position-area: left; margin-bottom: 0; margin-right: var(--space-3);}.delete-popover-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2)}.delete-popover-warning{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-3);line-height:var(--line-height-normal)}.delete-popover-actions{display:flex;gap:var(--space-2)}.delete-popover-confirm-btn{font-size:var(--font-size-xs);padding:var(--space-1)var(--space-3)}.delete-popover-cancel-btn{font-size:var(--font-size-xs);padding:var(--space-1)var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0}.delete-popover-cancel-btn:hover{background:var(--color-bg-hover)}.delete-popover-cancel-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.alert{padding:var(--space-4)var(--space-5);font-weight:var(--font-weight-medium);border-inline-start:4px solid}.alert--info{background:var(--color-info-bg);border-color:var(--color-info);color:var(--color-info)}.alert--success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-text-primary)}.alert--warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-text-primary)}.alert--error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.meta-label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--meta-label-color,var(--color-text-muted));line-height:var(--line-height-tight)}.section-heading{font-family:var(--font-display);font-size:var(--font-size-xl);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);border-bottom:2px solid var(--section-heading-border,var(--color-border-default));display:flex;align-items:baseline;gap:var(--space-3);font-weight:400;line-height:var(--line-height-heading);padding-block-end:var(--space-2)}.segmented-ctrl{display:inline-flex;background:var(--color-border-default);border-radius:var(--radius-sm);overflow:hidden;align-self: flex-start;gap:1px}.segmented-ctrl-btn{height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-4);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);border:none;align-items: center;font-family:inherit}.segmented-ctrl-btn:hover{background:var(--color-cream-light);color:var(--color-text-primary)}.segmented-ctrl-btn:active{transform:scale(.97)}.segmented-ctrl-btn:focus-visible{outline:2px solid var(--color-accent-interactive);outline-offset:-2px}.segmented-ctrl-btn:disabled{opacity:.5;cursor:default;pointer-events:none}.segmented-ctrl-btn.segmented-ctrl-btn--active{background:var(--color-copper);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.segmented-ctrl-btn.segmented-ctrl-btn--active:hover{background:var(--color-copper);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.nav-list{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);flex-direction:column}.nav-list-row{display:flex;align-items: flex-start;gap:var(--space-3);padding:var(--space-3)var(--space-5);border-bottom:1px solid var(--color-border-subtle);transition:border-left-color var(--transition-fast);border-left:3px solid #0000}.nav-list-row:last-child{border-bottom:none}.nav-list-row:hover{border-left-color:var(--color-copper)}@media (max-width:767.999px){.nav-list-row{padding:var(--space-3);flex-direction:column;align-items:stretch}}.nav-list-link{display:flex;gap:var(--space-3);text-decoration:none;color:inherit;flex-direction:column;flex:1;min-width:0}.nav-list-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}.nav-list-name:hover{text-decoration:underline;text-decoration-thickness:from-font}.nav-list-meta{display:flex;align-items: center;gap:var(--space-1)var(--space-3);font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-muted);flex-wrap:wrap}.nav-list-date{font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}.nav-list-actions{display:flex;align-items: center;gap:var(--space-1);opacity:.4;transition:opacity var(--transition-fast);flex-shrink:0}.nav-list-row:hover .nav-list-actions{opacity:1}.picker-row{display:flex;padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--transition-fast);align-items: center;gap:0}.picker-row:has(img){padding-inline-start:0}.picker-row:last-child{border-bottom:none}.picker-row:hover{background:var(--color-cream-dark)}.picker-row a:hover{text-decoration:underline}.picker-row a{color:inherit;text-underline-offset:2px}.picker-row:active{background:color-mix(in srgb,var(--color-copper)8%,transparent)}.picker-row:focus-visible{outline:2px solid var(--color-copper);outline-offset:-2px}.picker-row--inert{cursor:default}.picker-row--inert:hover{background:0 0}.picker-row--inert:active{background:0 0}.picker-row--inert .search-row-name{color:var(--color-text-muted);font-style:italic}.picker-row--action .search-row-name{color:var(--color-text-secondary);font-style:italic}.picker-row--action:hover .search-row-name{color:var(--color-copper)}.picker-row--suggested{--meta-label-color:var(--color-info);border-inline-start:3px solid var(--color-info);background:var(--color-info-bg)}.picker-row--suggested .search-row-name{font-weight:var(--font-weight-semibold)}.search-result-row.picker-row--suggested{background:var(--color-info-bg)}.picker-row-vintage{font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.merge-candidates{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.list-empty{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-3)var(--space-5);margin:0}@media (max-width:767.999px){.list-empty{padding:var(--space-3)}}.list-filter-input{border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-sm)}.list-filter-input:focus{outline:none;border-color:var(--color-accent-primary)}.list-filter-input::placeholder{color:var(--color-text-muted);font-style:italic}.list-filter-input:disabled{opacity:.5}.section-header-row{display:flex;justify-content:space-between;align-items:baseline}.permalink-group{display:inline-flex;align-items: center;gap:var(--space-1);justify-content:center}.link-secondary{color:var(--color-accent-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:color var(--transition-fast)}.link-secondary:hover{text-decoration:underline}.link-secondary:active{color:var(--color-accent-primary)}.link-secondary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn-inline-icon{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);display:inline-flex;transition:color var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;align-items: center;padding:0}.btn-inline-icon:hover:not(:disabled){color:var(--color-text-primary)}.btn-inline-icon:active{color:var(--color-accent-primary)}.btn-inline-icon:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.btn-inline-icon:disabled{opacity:.4;cursor:default;pointer-events:none}.btn-danger{background:var(--color-error);color:var(--color-text-inverse);border:1px solid var(--color-error-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);height:var(--control-height-btn);display:inline-flex;padding-inline:var(--space-4);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);align-items: center}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);border-color:var(--color-error-dark);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error)25%,transparent)}.btn-danger:active{transform:scale(.97)}.btn-danger:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.empty-state{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.empty-state--error{color:var(--color-error)}.empty-state--sm{padding:var(--space-4)}.stepper{display:inline-flex;border:1px solid var(--color-border-default);gap:0}.stepper-btn{width:var(--control-height-btn);height:var(--control-height-btn);display:flex;background:var(--color-bg-surface);color:var(--color-accent-primary);transition:background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);border:none;border-radius:0;justify-content:center;align-items: center}.stepper-btn:hover{background-color:var(--color-accent-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-ink)}.stepper-btn:active{transform:scale(.95)}.stepper-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.stepper-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none;transform:none}.stepper-value{font-size:var(--font-size-sm);font-family:var(--font-mono);display:flex;padding-inline:var(--space-2);border-inline:1px solid var(--color-border-default);justify-content:center;align-items: center;min-width:2ch}.form-field{display:flex;gap:var(--space-2);flex-direction:column}.form-field>label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--form-field-label-color);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.form-field>span{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--form-field-label-color);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.form-field input{padding:var(--space-1)var(--space-2);border:1px solid var(--color-cream-darker);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:var(--line-height-normal);background:var(--color-bg-surface);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-field input:hover:not(:focus){border-color:var(--color-copper-light);box-shadow:var(--shadow-ink)}.form-field input:focus{border-color:var(--color-copper);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.form-field select{padding:var(--space-1)var(--space-2);border:1px solid var(--color-cream-darker);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:var(--line-height-normal);background:var(--color-bg-surface);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-field select:hover:not(:focus){border-color:var(--color-copper-light);box-shadow:var(--shadow-ink)}.form-field select:focus{border-color:var(--color-copper);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.form-field textarea{padding:var(--space-1)var(--space-2);border:1px solid var(--color-cream-darker);border-radius:var(--radius-sm);font-size:var(--font-size-sm);line-height:var(--line-height-normal);background:var(--color-bg-surface);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-field textarea:hover:not(:focus){border-color:var(--color-copper-light);box-shadow:var(--shadow-ink)}.form-field textarea:focus{border-color:var(--color-copper);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.form-field textarea{resize:vertical}.form-field:has(input[type=checkbox]){flex-direction:row;align-items: center}.stat-item{display:flex;gap:var(--stat-item-gap,0);flex-direction:column}.stat-item .stat-item-value{font-size:var(--stat-item-value-size,var(--font-size-sm));color:var(--color-text-primary)}.store-avail-table{box-shadow:none;border-collapse:collapse;width:auto}.store-avail-table td{padding-block:var(--space-1);vertical-align:middle}.store-avail-table tr:hover{background-color:#0000}.store-avail-table .store-avail-name{font-size:var(--font-size-sm);color:var(--color-text-primary)}.store-avail-table .store-avail-status{font-size:var(--font-size-sm);text-align:end;white-space:nowrap;padding-inline-start:var(--space-4)}.store-avail-table .store-avail-status.store-avail-status--in{color:var(--color-success);font-weight:var(--font-weight-semibold)}.store-avail-table .store-avail-status.store-avail-status--out{color:var(--color-text-muted)}.store-avail-orderable{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.stock-controls{display:inline-flex;align-items: center}.desired-stock-value:not(:where(.stepper) *){text-align:center;font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-primary);transition:color var(--transition-fast);min-width:24px}.desired-stock-value.pending{color:var(--color-text-muted)}.add-to-shopping-dialog,.shopping-group-dialog{max-width:var(--dialog-width-md);width:90vw}:is(.add-to-shopping-dialog,.shopping-group-dialog) .dialog-body{display:flex;gap:var(--space-5);flex-direction:column}.add-to-shopping-dialog .add-to-shopping-delete{margin-inline-end:auto}.tab-bar{display:flex;border-bottom:1px solid var(--color-border-default);align-items: flex-end}.tab{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;color:var(--color-text-muted);text-decoration:none;cursor:pointer;padding-block:var(--space-1);padding-inline:var(--space-4);transition:color var(--transition-fast),border-bottom-color var(--transition-fast);border-bottom:3px solid #0000;margin-bottom:-1px}.tab:hover{color:var(--color-accent-primary)}.tab:active{transform:scale(.97)}.tab:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.tab.tab--active{color:var(--color-text-primary);border-bottom-color:var(--color-accent-primary)}}@layer utilities{[hidden]{display:none}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.styled-scrollbar::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.styled-scrollbar::-webkit-scrollbar-thumb{background-color:var(--color-copper);border-radius:var(--radius-md)}.styled-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--color-copper-dark)}.styled-scrollbar::-webkit-scrollbar-track{background:var(--color-cream-dark)}}@media (max-width:767.999px){body.cooking-mode .mobile-bottom-nav{display:none}body.cooking-mode .app-layout{padding-bottom:0}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-theme=cellar]{--color-limestone:#2a2420;--color-limestone-light:#231f1c;--color-limestone-dark:#1a1614;--color-sand:#3a3430;--color-sand-dark:#4a433d;--color-terracotta-rich:#c8826d;--color-wine-barrel:#d4a574;--color-charcoal:#e8dfd4;--color-charcoal-light:#d9cdbf;--color-charcoal-lighter:#c4b8a8;--color-cream:#1a1614;--color-cream-light:#231f1c;--color-cream-dark:#2d2926;--color-cream-darker:#3f3a36;--color-copper:#c8826d;--color-copper-light:#d9a08d;--color-copper-dark:#a6654e;--color-copper-darker:#8b4a36;--color-slate:#8a9eaf;--color-slate-light:#a0b5c5;--color-slate-dark:#6a7e8f;--form-field-label-color:var(--color-slate);--color-terracotta:#d9a08d;--color-terracotta-light:#e5b5a0;--color-terracotta-dark:#c8826d;--color-bg-base:#1a1614;--color-bg-surface:#231f1c;--color-bg-elevated:#2d2926;--color-bg-overlay:#000000bf;--color-bg-hover:#2d2926;--color-bg-active:#3f3a36;--color-text-heading:#f2ebe3;--color-text-primary:#e8dfd4;--color-text-secondary:#c5b8ab;--color-text-tertiary:#9a8b7c;--color-text-muted:#6e6358;--color-text-inverse:#1a1614;--color-border-subtle:#2d2926;--color-border-default:#3a3430;--color-border-strong:#5a4d42;--color-accent-primary:var(--color-copper);--color-accent-secondary:var(--color-slate);--color-accent-interactive:var(--color-terracotta);--color-surface:var(--color-bg-surface);--color-surface-elevated:var(--color-bg-elevated);--color-brand-primary:var(--color-accent-primary);--color-wine-red:#b55a6a;--color-wine-white:#d4b88a;--color-wine-rose:#e08a94;--color-wine-sparkling:#8aab94;--color-success:#6a9d73;--color-success-bg:#1a2e1e;--color-warning:#b89060;--color-warning-bg:#2a2010;--color-window-opening-soon:var(--color-warning);--color-error:#c06060;--color-error-bg:#2a1616;--color-info:var(--color-slate);--color-info-bg:#182030;--color-error-dark:#a84848;--color-rating-bad:#c47272;--color-rating-bad-bg:#2a1414;--color-rating-bad-dark:#9b4a4a;--color-rating-ok:#c4a86a;--color-rating-ok-bg:#292213;--color-rating-ok-dark:#9b7d4a;--color-rating-good:#7fa98a;--color-rating-good-bg:#16241a;--color-rating-good-dark:#567d5f;--color-rating-very-good:#8aa2b5;--color-rating-very-good-bg:#161e26;--color-rating-very-good-dark:#5a6e7f;--color-rating-excellent:#ad89a8;--color-rating-excellent-bg:#241c23;--color-rating-excellent-dark:#7d5a78;--color-rating-spectacular:#cfa95e;--color-rating-spectacular-bg:#2a2310;--color-rating-spectacular-dark:#a8843c;--color-rating-star:#cfa95e;--color-rating-star-hover:#dfc080;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 24px #0009;--shadow-xl:0 16px 48px #000000b3;--shadow-ink:0 2px 8px #c8826d40}[data-theme=verdure]{--color-limestone:#dfe8d6;--color-limestone-light:#eaf0e4;--color-limestone-dark:#ccd8c0;--color-sand:#d0dbc6;--color-sand-dark:#bacdb0;--color-terracotta-rich:#c86a48;--color-wine-barrel:#7a3e22;--color-charcoal:#1e2d16;--color-charcoal-light:#2d3f22;--color-charcoal-lighter:#3e5430;--color-cream:#f0f4ec;--color-cream-light:#f8faf6;--color-cream-dark:#dfe8d6;--color-cream-darker:#ccd8c0;--color-copper:#a85a38;--color-copper-light:#c47858;--color-copper-dark:#8a4228;--color-copper-darker:#6a3018;--color-slate:#5e6e50;--color-slate-light:#76866a;--color-slate-dark:#485840;--form-field-label-color:var(--color-slate);--color-terracotta:#c47858;--color-terracotta-light:#d6987e;--color-terracotta-dark:#a85a38;--color-bg-base:#f0f4ec;--color-bg-surface:#f8faf6;--color-bg-elevated:#fff;--color-bg-overlay:#1e2d1699;--color-bg-hover:#dfe8d6;--color-bg-active:#ccd8c0;--color-text-heading:#1e2d16;--color-text-primary:#2d3f22;--color-text-secondary:#4a5e38;--color-text-tertiary:#7a8e6a;--color-text-muted:#9aaa8a;--color-text-inverse:#f0f4ec;--color-border-subtle:#dde5d4;--color-border-default:#c8d6ba;--color-border-strong:#97a886;--color-accent-primary:var(--color-copper);--color-accent-secondary:var(--color-slate);--color-accent-interactive:var(--color-terracotta);--color-surface:var(--color-bg-surface);--color-surface-elevated:var(--color-bg-elevated);--color-brand-primary:var(--color-accent-primary);--color-wine-red:#8b4049;--color-wine-white:#c5a875;--color-wine-rose:#d47b84;--color-wine-sparkling:#7a9b84;--color-success:#4a7850;--color-success-bg:#e4f0e6;--color-warning:#a06030;--color-warning-bg:#f5ead8;--color-window-opening-soon:var(--color-warning);--color-error:#9b4a4a;--color-error-bg:#f5e8e8;--color-info:#5a6e7f;--color-info-bg:#e8ecf0;--color-error-dark:#8b3a3a;--color-rating-bad:#9b4a4a;--color-rating-bad-bg:#f5e8e8;--color-rating-bad-dark:#7d3a3a;--color-rating-ok:#9b7d4a;--color-rating-ok-bg:#f5efe3;--color-rating-ok-dark:#7d6238;--color-rating-good:#567d5f;--color-rating-good-bg:#e8f0ea;--color-rating-good-dark:#44644c;--color-rating-very-good:#5a6e7f;--color-rating-very-good-bg:#e8ecf0;--color-rating-very-good-dark:#475563;--color-rating-excellent:#7d5a78;--color-rating-excellent-bg:#f0e8ef;--color-rating-excellent-dark:#634860;--color-rating-spectacular:#a8843c;--color-rating-spectacular-bg:#f5eedc;--color-rating-spectacular-dark:#8a6c30;--color-rating-star:#a8843c;--color-rating-star-hover:#c8a050;--shadow-sm:0 1px 3px #a85a381a;--shadow-md:0 4px 12px #a85a381f;--shadow-lg:0 8px 24px #a85a3824;--shadow-xl:0 16px 48px #a85a3829;--shadow-ink:0 2px 8px #c86a4838}[data-theme=adriatic]{--color-limestone:#dce8f2;--color-limestone-light:#eaf2f8;--color-limestone-dark:#c8d8ea;--color-sand:#d0e0ec;--color-sand-dark:#b8cede;--color-terracotta-rich:#c07060;--color-wine-barrel:#34596f;--color-charcoal:#0a1e30;--color-charcoal-light:#162840;--color-charcoal-lighter:#2a3e54;--color-cream:#f4f8fb;--color-cream-light:#fafcfe;--color-cream-dark:#dce8f2;--color-cream-darker:#c8d8ea;--color-copper:#9d5a44;--color-copper-light:#c8826d;--color-copper-dark:#7d4434;--color-copper-darker:#623426;--color-slate:#44708c;--color-slate-light:#5d8ba8;--color-slate-dark:#34596f;--form-field-label-color:var(--color-slate);--color-terracotta:#c8826d;--color-terracotta-light:#d9a08d;--color-terracotta-dark:#a8604a;--color-bg-base:#f4f8fb;--color-bg-surface:#fff;--color-bg-elevated:#fff;--color-bg-overlay:#0a1e30a6;--color-bg-hover:#dce8f2;--color-bg-active:#c8d8ea;--color-text-heading:#0a1e30;--color-text-primary:#162840;--color-text-secondary:#3a5470;--color-text-tertiary:#6a8090;--color-text-muted:#9ab0c0;--color-text-inverse:#f4f8fb;--color-border-subtle:#dce8f2;--color-border-default:#c0d4e4;--color-border-strong:#7a9ab0;--color-accent-primary:var(--color-copper);--color-accent-secondary:var(--color-slate);--color-accent-interactive:var(--color-terracotta);--color-surface:var(--color-bg-surface);--color-surface-elevated:var(--color-bg-elevated);--color-brand-primary:var(--color-accent-primary);--color-wine-red:#8b4049;--color-wine-white:#c5a875;--color-wine-rose:#d47b84;--color-wine-sparkling:#4f8a98;--color-success:#4a8858;--color-success-bg:#e4eeea;--color-warning:#b07840;--color-warning-bg:#f5ead8;--color-window-opening-soon:var(--color-warning);--color-error:#9b4a4a;--color-error-bg:#f5e8e8;--color-info:var(--color-slate);--color-info-bg:#dce8f4;--color-error-dark:#8b3a3a;--color-rating-bad:#9b4a4a;--color-rating-bad-bg:#f5e8e8;--color-rating-bad-dark:#7d3a3a;--color-rating-ok:#9b7d4a;--color-rating-ok-bg:#f5efe3;--color-rating-ok-dark:#7d6238;--color-rating-good:#567d5f;--color-rating-good-bg:#e8f0ea;--color-rating-good-dark:#44644c;--color-rating-very-good:#5a6e7f;--color-rating-very-good-bg:#e8ecf0;--color-rating-very-good-dark:#475563;--color-rating-excellent:#7d5a78;--color-rating-excellent-bg:#f0e8ef;--color-rating-excellent-dark:#634860;--color-rating-spectacular:#a8843c;--color-rating-spectacular-bg:#f5eedc;--color-rating-spectacular-dark:#8a6c30;--color-rating-star:#a8843c;--color-rating-star-hover:#c8a050;--shadow-sm:0 1px 3px #16284014;--shadow-md:0 4px 12px #1628401a;--shadow-lg:0 8px 24px #1628401f;--shadow-xl:0 16px 48px #16284026;--shadow-ink:0 2px 8px #c8826d33}@layer base{table{border-collapse:separate;border-spacing:0;font-size:var(--font-size-base);background-color:var(--color-bg-surface);box-shadow:var(--shadow-md);border-radius:var(--radius-sm);overflow:hidden;width:100%}table a{color:var(--color-accent-primary);text-decoration:none;font-weight:var(--font-weight-medium)}table a:hover{text-decoration:underline}thead tr{background:linear-gradient(135deg,var(--color-limestone-light)0%,var(--color-limestone)100%);color:var(--color-text-primary);text-align:left;position:sticky;z-index:var(--z-sticky);top:0}th{font-family:var(--font-body);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);padding:var(--space-2)var(--space-3);border-bottom:2px solid var(--color-terracotta-rich);background-color:#0000}th.sortable{cursor:pointer;user-select:none;transition:background-color var(--transition-fast)}th.sortable .sort-icon{display:none;margin-inline-start:var(--space-1)}th.sortable .sort-icon svg{vertical-align:middle;margin-bottom:2px}th.sortable.active .sort-icon{display:inline}th.sortable.sorted .sort-icon{display:inline}th.sortable:hover{background-color:color-mix(in srgb,var(--color-sand-dark)30%,transparent)}th:first-child{padding-left:var(--space-4)}th:last-child{padding-right:var(--space-4)}td{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border-subtle);vertical-align:top;font-size:var(--font-size-base)}td:first-child{padding-left:var(--space-4);font-weight:var(--font-weight-medium)}td:last-child{padding-right:var(--space-4)}.table-container td{vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.table-container td:first-child{overflow:visible;text-overflow:unset;max-width:none}tbody tr{transition:background-color var(--transition-fast)}tbody tr:hover{background-color:var(--color-cream-dark)}tbody tr:last-child td{border-bottom:none}@media (max-width:767.999px){table{font-size:var(--font-size-sm)}th,td{padding:var(--space-3)var(--space-2)}td:first-child{padding-left:var(--space-3)}td:last-child{padding-right:var(--space-3)}th:first-child{padding-left:var(--space-3)}th:last-child{padding-right:var(--space-3)}.table-container td{max-width:120px}tbody tr:hover{background-color:initial}tbody tr:hover:after{width:0}}}@layer components{.wine-list wine-table-view{display:flex;overflow:hidden;flex-direction:column;flex-grow:1;min-height:0}@media (max-width:767.999px){.wine-list wine-table-view{display:block;overflow:visible}}.wine-list wine-list-filters{flex-shrink:0}.wine-list wine-table-view .table-container{min-height:0}.wine-list .refresh-btn{padding:var(--space-2)var(--space-4);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium)}.wine-list .refresh-btn.refresh-btn-loading{opacity:.6;cursor:not-allowed;animation:1.5s ease-in-out infinite pulse-loading}.wine-list .refresh-btn.refresh-btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.wine-list .refresh-btn.refresh-btn-error{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.wine-list .stock-btn.loading{opacity:.4;cursor:not-allowed}.wine-list .row-error{background-color:var(--color-error-bg);animation:.4s cubic-bezier(.4,0,.2,1) slideDown}.wine-list .row-error .error-message{color:var(--color-error);background-color:var(--color-error-bg);padding:var(--space-3)var(--space-4);font-size:var(--font-size-sm);border-inline-start:3px solid var(--color-error);font-weight:var(--font-weight-medium)}.wine-list .row-with-error{border-inline-start:3px solid var(--color-error)}.wine-list .inventory-controls{padding:var(--space-2)var(--space-4);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);display:flex;align-items: center;gap:var(--space-4);overflow-x:auto}@media (max-width:767.999px){.wine-list .inventory-controls{gap:var(--space-3);padding:var(--space-3)var(--space-4);flex-direction:column;align-items:stretch}}.wine-list .control-row{display:flex;align-items: center;gap:var(--space-3)}@media (max-width:767.999px){.wine-list .control-row{gap:var(--space-2);flex-direction:row;justify-content:space-between;align-items: center}}.wine-list .export-row{display:flex;align-items: center;gap:var(--space-3);margin-inline-start:auto}@media (max-width:767.999px){.wine-list .export-row{gap:var(--space-2);flex-wrap:wrap;width:100%;margin-inline-start:0}}.wine-list .export-btn{height:var(--control-height-btn);padding:0 var(--space-3);font-size:var(--font-size-sm);display:flex;align-items: center;gap:var(--space-2);white-space:nowrap;font-weight:var(--font-weight-normal)}@media (max-width:767.999px){.wine-list .export-btn{flex:auto;justify-content:center;min-width:0}}.wine-list .filter-input-wrap{position:relative;display:flex;flex-grow:1;align-items: center;min-width:200px;max-width:500px}.wine-list .filter-clear-btn{position:absolute;right:var(--space-3);line-height:1;font-size:var(--font-size-lg);color:var(--color-text-muted)}.wine-list .filter-clear-btn:hover{color:var(--color-text-primary)}.wine-list .filter-input{padding:0 var(--space-6)0 var(--space-3);outline:none;transition:border-color var(--transition-fast);width:100%}@media (max-width:767.999px){.wine-list .filter-input{max-width:none}}.wine-list .hide-empty-label{display:flex;align-items: center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;user-select:none;white-space:nowrap}.wine-list .hide-empty-label input[type=checkbox]{cursor:pointer;accent-color:var(--color-accent-primary);width:15px;height:15px}.wine-list .wine-limit-label{display:flex;align-items: center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap}.wine-list .wine-limit-input{padding:0 var(--space-2);border:1px solid var(--color-border-default);font-size:var(--font-size-sm);text-align:center;border-radius:var(--radius-sm);font-family:var(--font-body);transition:border-color var(--transition-fast);width:72px}.wine-list .wine-limit-input:focus{outline:none;border-color:var(--color-accent-primary)}.wine-list .occasion-filter-select{height:var(--control-height-btn);padding:0 var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-base);cursor:pointer;transition:border-color var(--transition-fast)}.wine-list .occasion-filter-select:focus{outline:none;border-color:var(--color-accent-primary)}.wine-list .table-container{overflow:auto;padding:var(--space-4);background-color:var(--color-bg-base);flex-grow:1}@media (max-width:767.999px){.wine-list .table-container{overflow:visible}}.wine-list .cards-container{display:none}.wine-list .rating-cell{text-align:center;min-width:80px}.wine-list .comment-cell{min-width:180px;max-width:400px}.wine-list .comment-cell.has-comment{cursor:pointer}.wine-list .comment-cell.has-comment .comment-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-style:italic}.wine-list .comment-cell.has-comment:hover{background-color:var(--color-cream-dark)}.wine-list .comment-cell.expanded{white-space:normal;max-width:none}.wine-list .comment-cell.expanded .comment-full{white-space:pre-wrap;word-break:break-word;line-height:var(--line-height-normal);padding:var(--space-3);background-color:var(--color-cream-dark);border-inline-start:2px solid var(--color-copper)}.wine-list .comment-cell.expanded .comment-full a{color:var(--color-accent-primary);text-decoration:underline}.wine-list .comment-cell.expanded .comment-full a:hover{color:var(--color-copper-dark)}.wine-list .external-links-cell{white-space:nowrap}.wine-list .external-links-cell a{display:inline-block;color:var(--color-accent-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);margin-inline-end:var(--space-3)}.wine-list .external-links-cell a:hover{color:var(--color-slate-dark);text-decoration:underline}.wine-list .cellar-location-cell{cursor:text}.wine-list .cellar-location-cell:hover{background-color:var(--color-bg-hover)}.wine-list .cellar-location-cell .cellar-location-text{display:block;transition:border-color var(--transition-fast),background-color var(--transition-fast);border-bottom:1px solid #0000}.wine-list .cellar-location-cell:hover .cellar-location-text{border-bottom-color:var(--color-border-subtle)}.wine-list .cellar-location-cell.editing .cellar-location-text{display:none}.wine-list .cellar-location-cell .cellar-location-input{display:none;border:none;border-bottom:1px solid var(--color-accent-primary);font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none;background:0 0;width:100%;padding:0}.wine-list .cellar-location-cell .cellar-location-input:focus-visible{border-bottom-color:var(--color-accent-interactive)}.wine-list .cellar-location-cell.editing .cellar-location-input{display:block}.wine-list .stock-cell{min-width:90px;padding:0}.wine-list .target-cell{min-width:90px;padding:0}.wine-list .stock-cell-wrapper{display:flex;padding:var(--space-2)var(--space-3);justify-content:center;align-items: center;height:100%}.wine-list .stock-controls{transition:border-color var(--transition-fast);border-color:#0000}.wine-list .stepper-value{transition:border-inline-color var(--transition-fast);border-left-color:#0000;border-right-color:#0000}.wine-list .stock-btn{opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.wine-list .stock-cell:hover .stock-controls{border-color:var(--color-border-default)}.wine-list .target-cell:hover .stock-controls{border-color:var(--color-border-default)}.wine-list .stock-cell:hover .stepper-value{border-inline-color:var(--color-border-default)}.wine-list .target-cell:hover .stepper-value{border-inline-color:var(--color-border-default)}.wine-list .stock-cell:hover .stock-btn{opacity:1}.wine-list .target-cell:hover .stock-btn{opacity:1}.wine-list .stock-value{text-align:center;font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-primary);transition:color var(--transition-fast);min-width:24px}.wine-list .stock-value.pending{color:var(--color-text-muted)}.wine-list .desired-stock-value{text-align:center;font-family:var(--font-mono);font-size:var(--font-size-base);color:var(--color-text-primary);transition:color var(--transition-fast);min-width:24px}.wine-list .desired-stock-value.pending{color:var(--color-text-muted)}.wine-list .stock-value{font-weight:var(--font-weight-semibold)}.wine-list .desired-stock-value{font-weight:var(--font-weight-normal)}@media (max-width:767.999px){.wine-list thead{display:none}.wine-list tbody td:not(:first-child){display:none}.wine-list tbody td:first-child{border-inline-start:4px solid var(--wine-color,var(--color-brand-primary));padding:0}.wine-list tbody td:first-child a{display:block;padding:var(--space-4);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-display);color:var(--color-text-primary);text-decoration:none;word-break:break-word;white-space:normal;text-wrap:balance}.wine-list tbody td:first-child a:active{background:var(--color-cream-light)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-loading{0%,to{opacity:.6}50%{opacity:1}}}@layer components{.column-config-dialog{max-width:var(--dialog-width-lg);--dialog-header-border:var(--color-copper);width:auto}.column-config-dialog .dialog-header{border-bottom-width:2px}.column-config-dialog .dialog-body{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);background:var(--color-bg-surface)}.column-config-section h3{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3)0;border-block-end:1px solid var(--color-copper);padding-block-end:var(--space-2)}.column-toggle{display:flex;align-items: center;gap:var(--space-2);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.column-toggle:hover{background-color:var(--color-cream-dark)}.column-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--color-accent-primary);width:18px;height:18px}.column-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.column-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);flex:1}.column-config-btn{display:flex;width:var(--control-height-btn);height:var(--control-height-btn);justify-content:center;align-items: center;padding:0}@media (max-width:767.999px){.column-config-btn{display:none}}button svg,a svg{display:inline-block;vertical-align:-.125em;margin-inline-end:var(--space-1)}button svg:last-child,a svg:last-child,button svg:only-child,a svg:only-child{margin-right:0}button svg{color:currentColor}.icon-success{color:var(--color-success)}.icon-error{color:var(--color-error)}.icon-loading{color:var(--color-accent-primary)}.drinking-window--optimal{color:var(--color-success)}.drinking-window--too-early{color:var(--color-info)}.drinking-window--past-peak{color:var(--color-error)}.wine-name-link{color:var(--color-text-primary);text-decoration:none}.wine-name-link:hover{text-decoration:underline;color:var(--color-brand-primary)}.stock-btn{width:24px;height:24px}.stock-controls--always-visible .stock-btn{opacity:1}.stock-controls--always-visible .stock-btn:disabled{opacity:.4}}@layer components{.consumption-dialog{max-width:var(--dialog-width-md);width:90vw;max-height:90vh;padding:0}.consumption-dialog[open]{display:flex;flex-direction:column}.consumption-dialog::backdrop{backdrop-filter:blur(8px)}.consumption-dialog .dialog-header{background:linear-gradient(135deg,var(--color-cream-light),var(--color-bg-surface));align-items: flex-start}.consumption-dialog .dialog-header .dialog-header-content{display:flex;gap:var(--space-1);flex-direction:column;min-width:0}.consumption-dialog .dialog-header h2{font-size:var(--font-size-base);color:var(--color-text-secondary)}.consumption-dialog .dialog-header .dialog-close{width:36px;height:36px}.consumption-dialog .dialog-body{background:var(--color-bg-base);overscroll-behavior-y:none;min-height:0}.consumption-dialog .dialog-footer{background:var(--color-cream-light)}.consumption-dialog.consumption-dialog--adhoc{height:min(var(--dialog-height-lg),85vh)}.consumption-dialog.consumption-dialog--adhoc .dialog-header{background:0 0;align-items: center}.consumption-dialog.consumption-dialog--adhoc .dialog-header h2{font-size:var(--font-size-xl);color:var(--color-text-primary)}.consumption-dialog.consumption-dialog--adhoc .adhoc-search-results{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);flex-direction:column}.consumption-dialog.consumption-dialog--adhoc[open]{display:flex;flex-direction:column}@media (max-width:767.999px){.consumption-dialog.consumption-dialog--adhoc{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}}.consumption-dialog.consumption-dialog--adhoc .dialog-body{overflow-y:auto}.consumption-dialog .consumption-wine-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);color:var(--color-slate-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.consumption-dialog .consumption-body-layout{display:flex;gap:var(--space-3);flex-direction:column}.consumption-dialog .consumption-form{display:flex;gap:var(--space-3);flex-direction:column}.consumption-dialog .consumption-reduce-inventory>span{text-transform:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal)}.consumption-dialog .consumption-pairing-toggle>span{text-transform:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal)}.consumption-dialog .tasting-pairing-section{display:flex;gap:var(--space-3);border-inline-start:2px solid var(--color-cream-darker);flex-direction:column;padding-inline-start:var(--space-5)}.consumption-dialog .consumption-status{margin-top:var(--space-3);font-size:var(--font-size-sm)}.consumption-dialog .tasting-rating-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-slate);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.consumption-dialog .value-rating-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-slate);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.consumption-dialog .tasting-rating-selector{margin-top:var(--space-3);margin-bottom:0}.consumption-dialog .value-rating-selector{margin-bottom:0}.consumption-dialog .value-rating-label{margin-top:var(--space-3)}.consumption-dialog .tasting-quick-section{padding-top:var(--space-3);border-top:1px solid var(--color-border-default);margin-top:0}@media (min-width:768px){.consumption-dialog:has(.tasting-detailed-section){max-width:min(1140px,100vw - 80px)}.consumption-dialog:has(.tasting-detailed-section) .consumption-body-layout{display:grid;grid-template-columns:380px 1fr;align-items: start;gap:0}.consumption-dialog:has(.tasting-detailed-section) .consumption-form{padding-right:var(--space-6);border-right:1px solid var(--color-border-default);position:sticky;top:0}.consumption-dialog:has(.tasting-detailed-section) .tasting-quick-section{margin-top:var(--space-3);border-top:none;padding-top:0}.consumption-dialog:has(.tasting-detailed-section) .tasting-quick-section h3{font-family:var(--font-body);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-slate);font-weight:var(--font-weight-semibold);padding-bottom:var(--space-1);border-bottom:2px solid var(--color-copper);display:inline-block;margin-bottom:var(--space-4)}.consumption-dialog:has(.tasting-detailed-section) .tasting-rating-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1)}.consumption-dialog:has(.tasting-detailed-section) .tasting-rating-btn{padding:var(--space-2)var(--space-2);font-size:var(--font-size-xs)}.consumption-dialog:has(.tasting-detailed-section) .tasting-detailed-section{padding-left:var(--space-6);margin-top:0}.consumption-dialog:has(.tasting-detailed-section) .descriptor-section{margin-bottom:var(--space-6)}.consumption-dialog:has(.tasting-detailed-section) .descriptor-section:last-of-type{border-top:none;margin-top:0;padding-top:0}.consumption-dialog:has(.tasting-detailed-section) .descriptor-category{display:grid;grid-template-columns:120px 1fr;align-items: center;gap:var(--space-4);margin-bottom:var(--space-2)}.consumption-dialog:has(.tasting-detailed-section) .descriptor-category-header{text-align:right;margin-bottom:0;padding-left:0}.consumption-dialog:has(.tasting-detailed-section) .descriptor-category-content{margin-bottom:0}}@media (max-width:767.999px){.consumption-dialog{border-radius:0;width:100vw;max-width:100vw;max-height:100dvh}.consumption-dialog .consumption-wine-name{font-size:var(--font-size-lg)}}wine-detail-page{display:flex;overflow:hidden;flex-grow:1;min-height:0}@media (max-width:1199px){wine-detail-page{display:block;overflow-y:auto}}.wine-detail-page{display:flex;flex:1;min-height:0}@media (max-width:1199px){.wine-detail-page{display:block}}.wine-detail-left{overflow-y:auto;padding:var(--space-6);flex:1;min-width:420px;max-width:600px}@media (max-width:1199px){.wine-detail-left{overflow:visible;padding:var(--space-4);min-width:0;max-width:none}}.wine-detail-right{display:flex;overflow:hidden;border-inline-start:1px solid var(--color-border-default);flex-direction:column;flex:2;min-width:0}@media (max-width:1199px){.wine-detail-right{border-inline-start:none;border-top:1px solid var(--color-border-default);min-height:520px}}.wine-detail-right-state{display:flex;justify-content:center;align-items: center;gap:var(--space-4);color:var(--color-text-muted);padding:var(--space-6);flex-direction:column;height:100%}.wine-detail-right-toolbar{display:flex;align-items: center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border-bottom:1px solid var(--color-border-default);--control-height-btn:var(--control-height-input)}.wine-regen-ai-btn{display:inline-flex;align-items: center;gap:var(--space-2);anchor-name:--wine-regen-btn}.wine-regen-popover{position-anchor:--wine-regen-btn;position-area:bottom;width:min(var(--dialog-width-xs),calc(100vw - var(--space-6)));padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-md);margin-block-start:var(--space-2)}.wine-regen-popover:popover-open{display:flex;gap:var(--space-3);flex-direction:column}.wine-regen-popover-header{display:flex;align-items: center;gap:var(--space-2)}.wine-category-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.wine-regen-popover-rationale{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}.wine-regen-popover-actions{display:flex;gap:var(--space-2);flex-direction:column}.wine-regen-override-row{display:flex;align-items: center;gap:var(--space-2)}.wine-regen-btn{display:inline-flex;align-items: center;gap:var(--space-2)}.wine-detail-ai-static{overflow-y:auto;padding:var(--space-5);max-width:var(--prose-max-width);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);flex:1}.wine-detail-ai-static p{margin-block-start:0;margin-block-end:0}.wine-detail-ai-error{padding:var(--space-2)var(--space-4);font-size:var(--font-size-sm);color:var(--color-error)}.wine-detail-section{margin-bottom:calc(var(--space-6) + var(--space-3))}.wine-detail-section:last-child{margin-bottom:0}.wine-detail-header{display:flex;gap:var(--space-5);margin-bottom:var(--space-6);align-items: flex-start}.wine-detail-header-text{flex:1;min-width:0}.wine-detail-header-bottle{transition:transform var(--transition-fast);flex-shrink:0;align-self: flex-end}.wine-detail-header-bottle:hover{box-shadow:none;transform:scale(1.03)}.wine-detail-header-bottle:active{transform:scale(.97)}.wine-detail-header-bottle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.wine-detail-header-bottle-img{display:block;mix-blend-mode:multiply;width:auto;height:192px}@media (max-width:767.999px){.wine-detail-header-bottle-img{height:160px}}.wine-detail-subtitle{display:flex;margin-top:var(--space-3);flex-direction:column;gap:0}.wine-detail-subtitle-identity{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.wine-detail-subtitle-link{color:var(--color-text-muted);text-decoration:none;font-family:var(--font-mono);font-size:var(--font-size-xs)}.wine-detail-subtitle-link:hover{text-decoration:underline}.wine-detail-subtitle-region,.wine-detail-subtitle-grapes{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal)}.wine-detail-subtitle-style{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);font-style:italic}.wine-detail-content{min-width:0}.wine-image-overlay{position:fixed;z-index:var(--z-modal);display:flex;backdrop-filter:blur(0px);cursor:zoom-out;visibility:hidden;pointer-events:none;background:0 0;justify-content:center;align-items: center;transition:background-color .25s cubic-bezier(.4,0,.2,1),backdrop-filter .25s cubic-bezier(.4,0,.2,1),visibility 0s .25s;inset:0}.wine-image-overlay.wine-image-overlay--open{background:var(--color-bg-overlay-light);backdrop-filter:blur(8px);visibility:visible;pointer-events:auto;transition:background-color .35s cubic-bezier(.2,.8,.2,1),backdrop-filter .35s cubic-bezier(.2,.8,.2,1),visibility}.wine-image-overlay-img{display:block;width:auto;max-width:min(90vw,600px);height:auto;max-height:90vh}.wine-detail-back{display:inline-flex;align-items: center;gap:var(--space-1);color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.wine-detail-back:hover{color:var(--color-text-primary)}.wine-detail-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0;line-height:2rem}.wine-detail-vintage{font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.wine-detail-col-header{border-bottom:2px solid var(--color-copper);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}.wine-detail-col-header h2{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-copper);margin:0}.wine-detail-facts{border:1px solid var(--color-border-default);overflow:hidden;--meta-label-color:var(--color-text-tertiary)}.facts-section{padding:var(--space-3);border-top:1px solid var(--color-border-default)}.facts-section:first-child{border-top:none}.facts-section.facts-section--stock{display:flex;background:color-mix(in srgb,var(--wine-color,var(--color-copper))8%,var(--color-bg-surface));border-top:1px solid var(--wine-color,var(--color-copper));flex-direction:column;gap:0}.facts-section .facts-stock-row{display:flex;justify-content:space-between;align-items: center;gap:var(--space-4)}.facts-section .facts-stock-controls{display:flex;align-items: center;gap:var(--space-1)}.facts-section .facts-stock-value{text-align:center;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);font-size:var(--font-size-base);min-width:24px}.facts-section .facts-desired-value{text-align:center;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);font-size:var(--font-size-base);min-width:24px}.facts-section .facts-stock-ctrl{background:var(--color-bg-surface);border:1px solid var(--color-accent-primary);color:var(--color-accent-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;padding:0}.facts-section .facts-stock-ctrl:hover:not(:disabled){background-color:var(--color-accent-primary);color:#fff}.facts-section .facts-stock-ctrl:disabled{opacity:.4;cursor:not-allowed}.facts-section.facts-section--technical{--meta-label-color:var(--color-text-tertiary);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);background:var(--color-cream-dark)}.facts-section.facts-section--method{display:flex;gap:var(--space-2);background:var(--color-bg-surface);flex-direction:column}.facts-section.facts-section--method .facts-method-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.facts-section.facts-section--food-pairing{display:flex;gap:var(--space-3);background:var(--color-bg-surface);flex-direction:column}.facts-section.facts-section--food-pairing .food-pairing-header{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);flex-wrap:wrap}.facts-section.facts-section--food-pairing .food-pairing-profile{anchor-name:--food-pairing-profile-anchor;color:var(--color-copper-dark);cursor:help;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-align:start;text-transform:uppercase;transition:color var(--transition-fast),transform var(--transition-fast)}.facts-section.facts-section--food-pairing .food-pairing-profile:hover{color:var(--color-copper);text-decoration:underline;text-underline-offset:var(--space-1)}.facts-section.facts-section--food-pairing .food-pairing-profile:active{transform:scale(.97)}.facts-section.facts-section--food-pairing .food-pairing-profile:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.facts-section.facts-section--food-pairing .food-pairing-profile:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.facts-section.facts-section--food-pairing .food-pairing-profile-popover{position-area:bottom;position-anchor:--food-pairing-profile-anchor;max-width:min(var(--dialog-width-xs),calc(100vw - var(--space-6)));padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);box-shadow:var(--shadow-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-block-start:var(--space-2)}.facts-section.facts-section--food-pairing p{line-height:var(--line-height-relaxed)}.facts-section.facts-section--food-pairing .food-pairing-context{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);text-align:start;margin:0}.facts-section.facts-section--food-pairing .food-pairing-inline-list{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);text-align:start;margin:0}.facts-section.facts-section--food-pairing .food-pairing-note{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);text-align:start;margin:0}.facts-section.facts-section--food-pairing .food-pairing-context{color:var(--color-text-primary)}.facts-section.facts-section--food-pairing .food-pairing-group{display:flex;flex-direction:column;gap:0}.facts-section.facts-section--personal{display:flex;gap:var(--space-3);background:var(--color-bg-surface);flex-direction:column}.facts-section.facts-section--personal .facts-personal-items{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.facts-section.facts-section--personal .facts-personal-comment{display:flex;flex-direction:column;gap:0}.facts-section.facts-section--vintages{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap}.facts-section.facts-section--vintages:empty{display:none}.facts-section.facts-section--vintages .facts-vintage-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.facts-section.facts-section--stores{display:flex;flex-direction:column;align-items: flex-start;gap:0}.facts-section.facts-section--stores .facts-label{margin-block-end:var(--space-2)}.facts-section.facts-section--stores .store-avail-nearby-label{margin-block-end:var(--space-2)}.facts-section.facts-section--stores .store-avail-orderable{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-start:var(--space-2);font-style:italic}.facts-section.facts-section--stores .store-avail-nearby-btn{margin-block-start:var(--space-3)}.facts-section.facts-section--stores .store-avail-nearby-label{margin-block-start:var(--space-4)}.facts-section .store-avail-table{border-collapse:collapse;box-shadow:none;width:auto}.facts-section .store-avail-table td{padding-block:var(--space-1);vertical-align:middle}.facts-section .store-avail-table .store-avail-name{font-size:var(--font-size-sm);color:var(--color-text-primary)}.facts-section .store-avail-table .store-avail-status{font-size:var(--font-size-sm);text-align:end;white-space:nowrap;padding-inline-start:var(--space-4)}.facts-section .store-avail-table .store-avail-status.store-avail-status--in{color:var(--color-success);font-weight:var(--font-weight-semibold)}.facts-section .store-avail-table .store-avail-status.store-avail-status--out{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.facts-section.facts-section--shopping{display:flex;flex-direction:column}.facts-section.facts-section--shopping .facts-shopping-header{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3)}.facts-section.facts-section--shopping .facts-shopping-item{display:flex;align-items: center;gap:var(--space-2);border-top:1px solid var(--color-border-subtle);cursor:pointer;margin-inline:calc(-1*var(--space-3));padding-inline:var(--space-3);transition:background-color var(--transition-fast)}.facts-section.facts-section--shopping .facts-shopping-item:hover{background:var(--color-cream-dark)}.facts-section.facts-section--shopping .facts-shopping-label{display:flex;align-items:baseline;gap:var(--space-2);cursor:pointer;flex:1;min-width:0}.facts-section.facts-section--shopping .facts-shopping-priority{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.facts-section.facts-section--shopping .facts-shopping-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-muted);opacity:.6;flex:1;min-width:0}.facts-section.facts-section--shopping .facts-shopping-qty{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.facts-section.facts-section--links{background:var(--color-bg-surface);display:flex;gap:var(--space-2);flex-direction:column}.facts-label{white-space:nowrap}.facts-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-align:right;word-break:break-word}.facts-filter-link{color:inherit;text-decoration:none}.facts-filter-link:hover{text-decoration:underline}.facts-value--usage{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.facts-usage-select{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:0 var(--space-1);cursor:pointer;margin-left:auto}.facts-parse-window-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.facts-links-row,.facts-actions-row{display:flex;align-items: center;gap:var(--space-3);flex-wrap:wrap}.facts-refresh-btn{display:inline-flex;align-items: center;gap:var(--space-1)}.facts-tech-item{display:flex;flex-direction:column;gap:0}.facts-tech-value{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.facts-comment{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;line-height:var(--line-height-normal);margin:0}.facts-comment--editable{cursor:pointer}.facts-comment--editable:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.facts-comment-add{font-size:var(--font-size-sm);color:var(--color-text-muted);transition:color var(--transition-fast),transform var(--transition-fast);margin-top:0}.facts-comment-add:hover{color:var(--color-text-secondary);text-decoration:underline}.facts-comment-add:active{transform:scale(.97)}.facts-comment-add:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.facts-comment-add:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.facts-comment-textarea{padding:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);resize:vertical;line-height:var(--line-height-normal);box-sizing:border-box;width:100%;margin-top:0}.facts-comment-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.wine-edit-form{padding:var(--space-4)}.wine-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.wine-edit-field{display:flex;flex-direction:column;gap:0}.wine-edit-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}.wine-edit-input,.wine-edit-select{box-sizing:border-box;padding:var(--space-1)var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-normal);border:1px solid var(--color-border-default);background:var(--color-bg-surface);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast);width:100%}:is(.wine-edit-input,.wine-edit-select):focus{outline:none;border-color:var(--color-copper)}.wine-edit-actions{display:flex;align-items:stretch;gap:var(--space-2);flex-wrap:wrap}.wine-edit-actions .btn-primary{padding-inline:var(--space-4);letter-spacing:var(--letter-spacing-wider)}.wine-edit-actions .btn-secondary{padding-inline:var(--space-4);letter-spacing:var(--letter-spacing-wider)}.wine-edit-delete{letter-spacing:var(--letter-spacing-wider);margin-inline-start:auto}.wine-edit-error{font-size:var(--font-size-sm);color:var(--color-error);align-self: center}.wine-edit-vintage-row{display:flex;gap:var(--space-2);align-items: center}.wine-edit-vintage-row .wine-edit-input{flex:1}.split-vintage-dialog{max-width:min(90vw,var(--dialog-width-sm));opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),display var(--transition-fast),overlay var(--transition-fast);transition-behavior:allow-discrete;width:100%;min-width:min(400px,90vw);transform:translateY(-4px)}.split-vintage-dialog[popover]{position:fixed;position-area:bottom center;margin-top:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.split-vintage-dialog:popover-open{opacity:1;transform:translateY(0)}@starting-style{.split-vintage-dialog:popover-open{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.split-vintage-dialog{transition-duration:.01ms;transform:none}}.split-vintage-dialog .dialog-body{display:flex;gap:var(--space-4);flex-direction:column}.split-vintage-dialog .split-vintage-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-block-start:0;margin-block-end:0}.split-vintage-dialog .split-vintage-field{display:flex;gap:var(--space-1);flex-direction:column}.split-vintage-dialog .split-vintage-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}.split-vintage-dialog .split-vintage-error{font-size:var(--font-size-sm);color:var(--color-error)}.wine-image-upload{border-top:1px solid var(--color-border-subtle);padding-block:var(--space-4);margin-bottom:var(--space-4)}.wine-image-upload-body{display:flex;gap:var(--space-4);margin-top:var(--space-2)}@media (max-width:767.999px){.wine-image-upload-body{flex-direction:column}}.wine-image-preview{width:var(--space-9);display:flex;flex-shrink:0;align-items: flex-start}.wine-image-preview-img{max-width:var(--space-9);object-fit:contain;max-height:72px}.wine-image-preview-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.wine-image-upload-controls{display:flex;gap:var(--space-2);--control-height-btn:var(--control-height-input);flex-direction:column;flex:1}.wine-image-file-label{display:inline-flex;padding-inline:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);user-select:none;justify-content:center;align-items: center}.wine-image-file-label .wine-image-file-input{display:none}.wine-image-url-row{display:flex;gap:var(--space-2);align-items:stretch}.wine-image-url-input{flex:1}.wine-image-url-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);flex-shrink:0;height:auto}.wine-image-status{font-size:var(--font-size-xs);color:var(--color-text-muted)}.wine-image-status.wine-image-status--error{color:var(--color-error)}.wine-image-status.wine-image-status--success{color:var(--color-success)}.wine-detail-right .chat-assistant{background:var(--color-cream-darker)}.wine-detail-right .chat-assistant .chat-title-bar{display:none}.wine-detail-right .chat-assistant .chat-window{padding:var(--space-4)var(--space-5);background:var(--color-bg-base);margin-inline-start:0;margin-inline-end:0}.wine-detail-right .chat-assistant .chat-form{padding:var(--space-3)var(--space-5);margin-inline-start:0;margin-inline-end:0}.wine-chat-date{color:var(--color-text-muted)}.wine-detail-tasting-toolbar{margin-bottom:var(--space-4);display:flex;gap:var(--space-2)}.wine-detail-tasting-toolbar .btn-primary{padding:var(--space-1)var(--space-3);font-size:var(--font-size-xs)}.tasting-entry{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-4)}.tasting-entry-meta{display:flex;justify-content:space-between;align-items: center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:var(--color-cream-dark);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap}.tasting-entry-body{display:flex;flex-direction:column}.tasting-entry-section{padding:var(--space-4);display:flex;gap:var(--space-3);flex-direction:column}.tasting-entry-section+.tasting-entry-section{border-top:1px solid var(--color-border-default)}.tasting-entry-section.tasting-entry-section--flavor{background:var(--color-cream-light)}.tasting-entry-section.tasting-entry-section--quality{background:var(--color-cream-light)}.tasting-entry-consumption{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-left:auto;font-style:italic}.tasting-entry-wine-link{font-weight:var(--font-weight-semibold);text-decoration:none;color:var(--color-text-primary)}.tasting-entry-wine-link:hover{text-decoration:underline}.tasting-entry-date{color:var(--color-text-muted);font-size:var(--font-size-sm)}.tasting-entry-quantity{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tasting-entry-occasion{font-size:var(--font-size-sm);font-style:italic}.tasting-rating-scale .tasting-rating-btn{cursor:default;pointer-events:none}.tasting-entry-notes{color:var(--color-text-secondary);margin:0}.tasting-descriptor-chips{display:flex;gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap}.tasting-descriptor-area{display:flex;gap:var(--space-3);flex-direction:column}.tasting-flavor-groups{display:flex;gap:var(--space-2);flex-direction:column}.tasting-flavor-group{display:flex;flex-direction:column;gap:0}.tasting-flavor-values{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tasting-flavor-note{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.tasting-structure-grid{display:flex;gap:var(--space-1);flex-direction:column}.tasting-structure-row{display:flex;align-items: center;gap:var(--space-3)}.tasting-structure-dim{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0;width:5rem}.tasting-structure-scale{display:flex;gap:var(--space-1);align-items: center}.tasting-dot{background:var(--color-border-default);border-radius:50%;flex-shrink:0;width:6px;height:6px}.tasting-dot.tasting-dot--active{background:var(--color-copper)}.tasting-structure-val{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tasting-entry-actions{display:flex;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border-default);background:var(--color-cream-dark)}.copy-id-btn{margin-inline-start:var(--space-1)}}@layer components{.quantity-selector{width:100%;margin-block-start:var(--space-2)}.quantity-selector .segmented-ctrl-btn{min-height:var(--control-height-btn);padding-block:var(--space-2);flex:1;justify-content:center;height:auto}.quantity-custom-input{margin-block-start:var(--space-2)}.tasting-rating-selector{margin-block-end:var(--space-3)}.tasting-rating-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-block-end:var(--space-2)}.value-rating-selector{margin-block-end:var(--space-4)}.value-rating-label{display:block;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-end:var(--space-2)}.value-rating-stars{display:flex;gap:var(--space-1);align-items: center}.value-rating-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-start:var(--space-1)}.value-rating-star{font-size:var(--font-size-xl);cursor:pointer;color:var(--color-border-default);transition:color var(--transition-fast);user-select:none}.value-rating-star.filled{color:var(--color-rating-star)}.value-rating-star:hover{color:var(--color-rating-star-hover)}.tasting-rating-buttons{display:flex;gap:var(--space-1)}@media (max-width:767.999px){.tasting-rating-buttons{display:grid;grid-template-columns:repeat(3,1fr)}}.tasting-rating-btn{padding:var(--space-1)var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-medium);text-align:center;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);color:var(--color-text-primary);flex:1}.tasting-rating-btn.bad:hover{background:var(--color-rating-bad-bg);border-color:var(--color-rating-bad);color:var(--color-rating-bad)}.tasting-rating-btn.bad.selected{background:var(--color-rating-bad);color:var(--color-text-inverse);border-color:var(--color-rating-bad-dark)}.tasting-rating-btn.ok:hover{background:var(--color-rating-ok-bg);border-color:var(--color-rating-ok);color:var(--color-rating-ok-dark)}.tasting-rating-btn.ok.selected{background:var(--color-rating-ok);color:var(--color-text-inverse);border-color:var(--color-rating-ok-dark)}.tasting-rating-btn.good:hover{background:var(--color-rating-good-bg);border-color:var(--color-rating-good);color:var(--color-rating-good-dark)}.tasting-rating-btn.good.selected{background:var(--color-rating-good);color:var(--color-text-inverse);border-color:var(--color-rating-good-dark)}.tasting-rating-btn.very_good:hover{background:var(--color-rating-very-good-bg);border-color:var(--color-rating-very-good);color:var(--color-rating-very-good-dark)}.tasting-rating-btn.very_good.selected{background:var(--color-rating-very-good);color:var(--color-text-inverse);border-color:var(--color-rating-very-good-dark)}.tasting-rating-btn.excellent:hover{background:var(--color-rating-excellent-bg);border-color:var(--color-rating-excellent);color:var(--color-rating-excellent-dark)}.tasting-rating-btn.excellent.selected{background:var(--color-rating-excellent);color:var(--color-text-inverse);border-color:var(--color-rating-excellent-dark)}.tasting-rating-btn.spectacular:hover{background:var(--color-rating-spectacular-bg);border-color:var(--color-rating-spectacular);color:var(--color-rating-spectacular-dark)}.tasting-rating-btn.spectacular.selected{background:var(--color-rating-spectacular);color:var(--color-text-inverse);border-color:var(--color-rating-spectacular-dark)}.tasting-quick-section{border-top:1px solid var(--color-border-default);margin-block-start:var(--space-4);padding-block-start:var(--space-4)}.tasting-quick-section h3{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-slate);letter-spacing:var(--letter-spacing-normal);margin-block-end:var(--space-3)}.tasting-expand-btn{padding:var(--space-2)var(--space-3);background:var(--color-cream-light);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast);width:100%;margin-block-start:var(--space-3)}.tasting-expand-btn:hover{border-color:var(--color-copper);color:var(--color-copper);background:var(--color-cream)}.tasting-detailed-section{margin-block-start:var(--space-3)}.tasting-detailed-section h3{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-block-end:var(--space-4)}.descriptor-section{margin-block-end:var(--space-5)}.descriptor-section h4{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-slate-dark);letter-spacing:var(--letter-spacing-normal);border-bottom:2px solid var(--color-copper);display:inline-block;margin-block-end:var(--space-3);padding-block-end:var(--space-2)}.descriptor-section label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-block-end:var(--space-2)}.descriptor-section:last-of-type{border-top:1px solid var(--color-border-default);margin-block-start:var(--space-4);padding-block-start:var(--space-4)}.descriptor-category{margin-block-end:var(--space-4)}.descriptor-category-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-copper);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);margin-block-end:var(--space-2);padding-inline-start:var(--space-1)}.descriptor-category-content{margin-block-end:var(--space-2)}.descriptor-category-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-tertiary);margin-block-end:var(--space-2)}.descriptor-subcategory{margin-block-end:var(--space-3)}.descriptor-subcategory-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-copper);text-transform:capitalize;margin-block-end:var(--space-2)}.descriptor-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.descriptor-chip{padding:var(--space-1)var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-cream-darker);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);text-transform:capitalize;box-shadow:var(--shadow-sm)}.descriptor-chip:hover{border-color:var(--color-copper-light);background:var(--color-cream-light)}.descriptor-chip.selected{background:var(--color-copper);border-color:var(--color-copper-dark);color:#fff;box-shadow:var(--shadow-ink)}.price-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-block-start:var(--space-4)}.price-fields>*{min-width:0}.price-fields select{padding:var(--space-2)var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-base);background:var(--color-bg-surface);color:var(--color-text-primary)}.wine-consumption-history{border-top:1px solid var(--color-border-default);margin-block-start:var(--space-6);padding-block-start:var(--space-6)}.wine-consumption-history h3{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-block-end:var(--space-4)}.consumption-entry{padding:var(--space-3);background:var(--color-bg-surface);border-inline-start:2px solid var(--color-copper);margin-block-end:var(--space-3)}.consumption-entry.with-tasting{padding:var(--space-4);border-inline-start-width:4px}.consumption-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-end:var(--space-2)}.consumption-quantity{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary)}.tasting-rating{font-size:var(--font-size-sm);margin:var(--space-1)0}.tasting-rating strong{color:var(--color-text-secondary)}.tasting-quick-notes{font-size:var(--font-size-base);color:var(--color-text-primary);text-wrap:pretty;margin-block-start:var(--space-2);font-style:italic}.tasting-descriptors{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-2)}.tasting-history-controls{display:flex;align-items: center;gap:var(--space-4);margin-block-end:var(--space-6)}.tasting-history-controls search{flex:1;min-width:0}@media (max-width:767.999px){.tasting-history-controls{flex-direction:column;align-items:stretch}}.tasting-history-filter{padding:var(--space-2)var(--space-3);width:100%}.wine-list-error{padding:var(--space-10)var(--space-9);max-width:560px}.wine-list-error__label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-error);margin-block-end:var(--space-3)}.wine-list-error__heading{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:var(--font-weight-normal);color:var(--color-text-heading);margin-block-end:var(--space-5);line-height:1}.wine-list-error__rule{border:none;border-top:1px solid var(--color-border-default);margin-block-end:var(--space-6)}.wine-list-error__message{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-error);background:var(--color-error-bg);border-inline-start:2px solid var(--color-error);padding:var(--space-4)var(--space-5);white-space:pre-wrap;word-break:break-word;margin-block-end:var(--space-6)}.tasting-rating-word{font-weight:var(--font-weight-semibold)}.tasting-rating-word.tasting-rating-word--bad{color:var(--color-rating-bad)}.tasting-rating-word.tasting-rating-word--ok{color:var(--color-rating-ok-dark)}.tasting-rating-word.tasting-rating-word--good{color:var(--color-rating-good-dark)}.tasting-rating-word.tasting-rating-word--very_good{color:var(--color-rating-very-good)}.tasting-rating-word.tasting-rating-word--excellent{color:var(--color-rating-excellent)}.tasting-rating-word.tasting-rating-word--spectacular{color:var(--color-rating-spectacular-dark)}.tasting-stars{color:var(--color-rating-star);letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.tasting-score{color:var(--color-rating-star);font-weight:var(--font-weight-semibold);white-space:nowrap}.tasting-price{font-family:var(--font-mono);color:var(--color-text-muted)}.tasting-value{display:inline-flex;align-items:baseline;gap:var(--space-2);white-space:nowrap}.tasting-wine-link{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);text-decoration:none;min-width:0}.tasting-wine-link:hover{text-decoration:underline;text-decoration-thickness:from-font}.tasting-wine-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.tasting-note{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin-block-start:0;margin-block-end:0}.tasting-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));align-items: start;gap:var(--space-5)}@media (max-width:767.999px){.tasting-cards{gap:var(--space-3)}}.tasting-card{position:relative;display:flex;padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--tasting-card-accent,var(--color-border-default));transition:box-shadow var(--transition-fast);flex-direction:column;gap:0}.tasting-card:hover{box-shadow:var(--shadow-ink)}.tasting-card:focus-within{box-shadow:var(--shadow-ink)}.tasting-card.tasting-card--bad{--tasting-card-accent:var(--color-rating-bad)}.tasting-card.tasting-card--ok{--tasting-card-accent:var(--color-rating-ok)}.tasting-card.tasting-card--good{--tasting-card-accent:var(--color-rating-good)}.tasting-card.tasting-card--very_good{--tasting-card-accent:var(--color-rating-very-good)}.tasting-card.tasting-card--excellent{--tasting-card-accent:var(--color-rating-excellent)}.tasting-card.tasting-card--spectacular{--tasting-card-accent:var(--color-rating-spectacular)}.tasting-card-head{display:flex;align-items: center;gap:var(--space-3);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted)}.tasting-card-head .tasting-rating-word{text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.tasting-card-date{font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide);white-space:nowrap;margin-inline-start:auto}.tasting-card>.tasting-wine-link:after{content:"";position:absolute;inset:0}.tasting-card-footer{display:grid;grid-template-columns:1fr auto;grid-template-areas:"pair-stars value" "pair-name pair-name";column-gap:var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);align-items:baseline;padding-block-start:var(--space-3)}.tasting-card-pair-stars{grid-area:pair-stars;display:inline-flex;align-items: center;gap:var(--space-2);color:var(--color-text-muted)}.tasting-card-pair-name{grid-area:pair-name;line-height:var(--line-height-relaxed)}.tasting-card-footer>.tasting-value{grid-area:value;justify-self:end}.tasting-log{display:grid;grid-template-columns:auto auto 1fr auto;column-gap:var(--space-3);border:1px solid var(--color-border-default);background:var(--color-bg-surface)}.tasting-log-row{grid-column:1/-1;display:grid;grid-template-columns:subgrid;padding:var(--space-3)var(--space-5);font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-subtle);transition:border-inline-start-color var(--transition-fast);border-inline-start:3px solid #0000;align-items:baseline}.tasting-log-row:last-child{border-bottom:none}.tasting-log-row:hover{border-inline-start-color:var(--color-copper)}.tasting-log-row>.tasting-rating-word{grid-column:1}.tasting-log-date{grid-column:2;font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);white-space:nowrap}.tasting-log-row>.tasting-wine-link{grid-column:3}.tasting-log-row>.tasting-value{grid-column:4;justify-self:end}.tasting-log-row>.tasting-note{grid-column:3/-1}@media (max-width:767.999px){.tasting-log{display:block}.tasting-log-row{display:flex;align-items:baseline;column-gap:var(--space-3);padding-inline:var(--space-3);flex-wrap:wrap}.tasting-log-row>.tasting-wine-link{flex-basis:100%;order:-1}.tasting-log-row>.tasting-value{margin-inline-start:auto}.tasting-log-row>.tasting-note{flex-basis:100%}}}@layer components{chat-assistant{display:flex;flex-direction:column;height:100%}@media (max-width:767.999px){chat-assistant{display:block}}discover-view{display:flex;flex-direction:row;height:100%}@media (max-width:767.999px){discover-view{display:block}}chat-window,chat-form,chat-message{display:block}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{overflow-y:auto;padding-block-end:var(--space-3);padding-inline:var(--space-6);max-width:calc(var(--prose-max-width) + 4*var(--space-6));flex-grow:1;width:100%}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{padding-block-end:var(--space-4);padding-inline:var(--space-4);overflow:auto}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-block:var(--space-3);background:var(--color-bg-surface);max-width:calc(var(--prose-max-width) + 4*var(--space-6));border-block-start:1px solid var(--color-border-default);width:100%;padding-inline-start:var(--space-6);padding-inline-end:calc(var(--space-6) + var(--scrollbar-width))}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-inline-start:var(--space-4);padding-inline-end:var(--space-4)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form .kb-note-chips{margin-block-end:var(--space-3)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden;max-width:480px;margin-block-start:var(--space-3)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-image{display:block;object-fit:cover;border-block-end:1px solid var(--color-border-default);width:100%;max-height:220px}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-body{padding:var(--space-3)var(--space-4);display:flex;gap:var(--space-2);flex-direction:column}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-title{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed,1.6);margin:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-expand{border-block-start:1px solid var(--color-border-default);display:flex;gap:var(--space-2);flex-direction:column;margin-block-start:var(--space-1);padding-block-start:var(--space-3)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-ingredients{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-steps{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-wrapper{display:flex;flex-direction:column;margin-block-end:var(--space-3)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-meta{padding-inline:var(--space-1);line-height:var(--line-height-normal)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary{display:flex;white-space:nowrap;cursor:pointer;list-style:none;user-select:none;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:1ch}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary::-webkit-details-marker{display:none}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:hover{background-color:var(--color-bg-hover)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:active{transform:scale(.97)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role{font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.user{color:var(--color-slate-dark)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.assistant{color:var(--color-copper-dark)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-cost{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-panel{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-xs);flex-direction:column;margin-block-start:var(--space-2)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top{display:flex;align-items: flex-start;gap:var(--space-2)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-token-breakdown{flex:1}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-delete-btn{display:inline-flex;align-items: center;gap:var(--space-1);flex-shrink:0;margin-inline-start:auto}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown{display:flex;gap:var(--space-1)var(--space-4);font-family:var(--font-mono);flex-wrap:wrap;margin:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown>div{display:flex;gap:var(--space-1)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt{color:var(--color-text-muted)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt:after{content:":"}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dd{color:var(--color-text-primary);margin:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-tool-calls{display:flex;gap:var(--space-2);flex-direction:column}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call{display:flex;gap:var(--space-1);flex-direction:column}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:var(--color-copper-dark)}.tool-call--error :is(:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name){color:var(--color-error)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-error{color:var(--color-error)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-args{padding:var(--space-2);background:var(--color-bg-hover);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:pre;overflow-x:auto;overflow-y:auto;max-height:192px;margin:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-4)var(--space-6);line-height:var(--line-height-normal);position:relative;box-shadow:var(--shadow-sm)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.user{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-slate)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.assistant{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-copper)}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-3)var(--space-4)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-filter-context{display:block;font-size:var(--font-size-sm);color:var(--color-copper);margin-block-end:var(--space-2)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{word-break:break-word;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{font-size:var(--font-size-base);line-height:var(--line-height-normal)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-4)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p:last-child{margin-block-end:0}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-3)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-block:var(--space-6)var(--space-3);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3:first-child{margin-block-start:0}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-size:var(--font-size-xl);margin-block:var(--space-5)var(--space-2)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-copper-dark);margin-block:var(--space-5)var(--space-2);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4:first-child{margin-block-start:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{margin-block:var(--space-3);padding-left:var(--space-6)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul li{margin-block:var(--space-4)}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{padding-left:var(--space-4)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .shopping-list li{margin-block-start:0;margin-block-end:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content strong{font-family:var(--font-body);font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--color-copper-dark);font-weight:var(--font-weight-bold)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content em{color:var(--color-text-secondary);font-style:italic}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .chat-fetched-image{display:block;object-fit:cover;border-radius:var(--radius-md);width:auto;max-width:100%;max-height:320px;margin-block-end:var(--space-4)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{border:1px solid var(--color-border-default);background:color-mix(in srgb,var(--color-copper)6%,var(--color-bg-surface));padding:var(--space-5);margin-block:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);position:relative}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{padding:var(--space-3)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion:hover{box-shadow:var(--shadow-md)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{font-size:var(--font-size-base);text-decoration:none}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link:hover{background:var(--color-copper);color:#fff}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{font-size:var(--font-size-lg)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:disabled{opacity:.4;cursor:default}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:disabled{opacity:.4;cursor:default}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{text-decoration:none}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link:hover{background:var(--color-copper);color:#fff}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a:hover{color:var(--color-copper)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{display:block;font-family:var(--font-display);font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-2);line-height:1}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .stock-info{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-block-end:var(--space-3);font-style:italic}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-reason{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-normal);margin-block-start:var(--space-4)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes{margin-block:var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes p{margin-block:var(--space-2)var(--space-3)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{margin-block:var(--space-2);padding-left:var(--space-6)}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{padding-left:var(--space-4)}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul li{margin-block:var(--space-2)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{display:flex;gap:var(--space-3);align-items: flex-end}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{display:flex;gap:var(--space-2);flex-direction:column;flex-shrink:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-1)var(--space-2)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{height:calc(var(--space-4) + var(--space-5));justify-content:center}@media (max-width:767.999px){:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{gap:var(--space-2);flex-direction:column;align-items:stretch}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{min-height:unset;font-size:1rem}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{min-height:unset;font-size:1rem}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{flex-direction:row}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-size:var(--font-size-sm);flex-shrink:0}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{padding:var(--space-3);font-size:var(--font-size-sm);flex:1}}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state{display:flex;padding:var(--space-10);text-align:center;flex-direction:column;justify-content:center;align-items: center;height:100%}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state h2{font-family:var(--font-display);font-size:var(--font-size-display);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-4)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state p{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:600px;margin-block-end:var(--space-6)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-5);background:var(--color-cream-dark);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);margin-block-end:var(--space-6)}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-spinner{font-size:var(--font-size-xl);animation:1.5s ease-in-out infinite pulse}:-webkit-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-style:italic}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{overflow-y:auto;padding-block-end:var(--space-3);padding-inline:var(--space-6);max-width:calc(var(--prose-max-width) + 4*var(--space-6));flex-grow:1;width:100%}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{padding-block-end:var(--space-4);padding-inline:var(--space-4);overflow:auto}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-block:var(--space-3);background:var(--color-bg-surface);max-width:calc(var(--prose-max-width) + 4*var(--space-6));border-block-start:1px solid var(--color-border-default);width:100%;padding-inline-start:var(--space-6);padding-inline-end:calc(var(--space-6) + var(--scrollbar-width))}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-inline-start:var(--space-4);padding-inline-end:var(--space-4)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form .kb-note-chips{margin-block-end:var(--space-3)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden;max-width:480px;margin-block-start:var(--space-3)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-image{display:block;object-fit:cover;border-block-end:1px solid var(--color-border-default);width:100%;max-height:220px}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-body{padding:var(--space-3)var(--space-4);display:flex;gap:var(--space-2);flex-direction:column}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-title{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed,1.6);margin:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-expand{border-block-start:1px solid var(--color-border-default);display:flex;gap:var(--space-2);flex-direction:column;margin-block-start:var(--space-1);padding-block-start:var(--space-3)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-ingredients{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-steps{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-wrapper{display:flex;flex-direction:column;margin-block-end:var(--space-3)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-meta{padding-inline:var(--space-1);line-height:var(--line-height-normal)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary{display:flex;white-space:nowrap;cursor:pointer;list-style:none;user-select:none;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:1ch}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary::-webkit-details-marker{display:none}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:hover{background-color:var(--color-bg-hover)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:active{transform:scale(.97)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role{font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.user{color:var(--color-slate-dark)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.assistant{color:var(--color-copper-dark)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-cost{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-panel{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-xs);flex-direction:column;margin-block-start:var(--space-2)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top{display:flex;align-items: flex-start;gap:var(--space-2)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-token-breakdown{flex:1}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-delete-btn{display:inline-flex;align-items: center;gap:var(--space-1);flex-shrink:0;margin-inline-start:auto}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown{display:flex;gap:var(--space-1)var(--space-4);font-family:var(--font-mono);flex-wrap:wrap;margin:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown>div{display:flex;gap:var(--space-1)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt{color:var(--color-text-muted)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt:after{content:":"}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dd{color:var(--color-text-primary);margin:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-tool-calls{display:flex;gap:var(--space-2);flex-direction:column}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call{display:flex;gap:var(--space-1);flex-direction:column}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:var(--color-copper-dark)}.tool-call--error :is(:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name){color:var(--color-error)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-error{color:var(--color-error)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-args{padding:var(--space-2);background:var(--color-bg-hover);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:pre;overflow-x:auto;overflow-y:auto;max-height:192px;margin:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-4)var(--space-6);line-height:var(--line-height-normal);position:relative;box-shadow:var(--shadow-sm)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.user{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-slate)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.assistant{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-copper)}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-3)var(--space-4)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-filter-context{display:block;font-size:var(--font-size-sm);color:var(--color-copper);margin-block-end:var(--space-2)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{word-break:break-word;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{font-size:var(--font-size-base);line-height:var(--line-height-normal)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-4)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p:last-child{margin-block-end:0}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-3)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-block:var(--space-6)var(--space-3);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3:first-child{margin-block-start:0}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-size:var(--font-size-xl);margin-block:var(--space-5)var(--space-2)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-copper-dark);margin-block:var(--space-5)var(--space-2);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4:first-child{margin-block-start:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{margin-block:var(--space-3);padding-left:var(--space-6)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul li{margin-block:var(--space-4)}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{padding-left:var(--space-4)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .shopping-list li{margin-block-start:0;margin-block-end:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content strong{font-family:var(--font-body);font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--color-copper-dark);font-weight:var(--font-weight-bold)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content em{color:var(--color-text-secondary);font-style:italic}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .chat-fetched-image{display:block;object-fit:cover;border-radius:var(--radius-md);width:auto;max-width:100%;max-height:320px;margin-block-end:var(--space-4)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{border:1px solid var(--color-border-default);background:color-mix(in srgb,var(--color-copper)6%,var(--color-bg-surface));padding:var(--space-5);margin-block:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);position:relative}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{padding:var(--space-3)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion:hover{box-shadow:var(--shadow-md)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{font-size:var(--font-size-base);text-decoration:none}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link:hover{background:var(--color-copper);color:#fff}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{font-size:var(--font-size-lg)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:disabled{opacity:.4;cursor:default}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:disabled{opacity:.4;cursor:default}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{text-decoration:none}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link:hover{background:var(--color-copper);color:#fff}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a:hover{color:var(--color-copper)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{display:block;font-family:var(--font-display);font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-2);line-height:1}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .stock-info{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-block-end:var(--space-3);font-style:italic}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-reason{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-normal);margin-block-start:var(--space-4)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes{margin-block:var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes p{margin-block:var(--space-2)var(--space-3)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{margin-block:var(--space-2);padding-left:var(--space-6)}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{padding-left:var(--space-4)}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul li{margin-block:var(--space-2)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{display:flex;gap:var(--space-3);align-items: flex-end}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{display:flex;gap:var(--space-2);flex-direction:column;flex-shrink:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-1)var(--space-2)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{height:calc(var(--space-4) + var(--space-5));justify-content:center}@media (max-width:767.999px){:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{gap:var(--space-2);flex-direction:column;align-items:stretch}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{min-height:unset;font-size:1rem}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{min-height:unset;font-size:1rem}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{flex-direction:row}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-size:var(--font-size-sm);flex-shrink:0}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{padding:var(--space-3);font-size:var(--font-size-sm);flex:1}}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state{display:flex;padding:var(--space-10);text-align:center;flex-direction:column;justify-content:center;align-items: center;height:100%}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state h2{font-family:var(--font-display);font-size:var(--font-size-display);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-4)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state p{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:600px;margin-block-end:var(--space-6)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-5);background:var(--color-cream-dark);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);margin-block-end:var(--space-6)}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-spinner{font-size:var(--font-size-xl);animation:1.5s ease-in-out infinite pulse}:-moz-any(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-style:italic}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{overflow-y:auto;padding-block-end:var(--space-3);padding-inline:var(--space-6);max-width:calc(var(--prose-max-width) + 4*var(--space-6));flex-grow:1;width:100%}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-window{padding-block-end:var(--space-4);padding-inline:var(--space-4);overflow:auto}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-block:var(--space-3);background:var(--color-bg-surface);max-width:calc(var(--prose-max-width) + 4*var(--space-6));border-block-start:1px solid var(--color-border-default);width:100%;padding-inline-start:var(--space-6);padding-inline-end:calc(var(--space-6) + var(--scrollbar-width))}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form{padding-inline-start:var(--space-4);padding-inline-end:var(--space-4)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-form .kb-note-chips{margin-block-end:var(--space-3)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:hidden;max-width:480px;margin-block-start:var(--space-3)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-image{display:block;object-fit:cover;border-block-end:1px solid var(--color-border-default);width:100%;max-height:220px}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-body{padding:var(--space-3)var(--space-4);display:flex;gap:var(--space-2);flex-direction:column}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-title{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed,1.6);margin:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-expand{border-block-start:1px solid var(--color-border-default);display:flex;gap:var(--space-2);flex-direction:column;margin-block-start:var(--space-1);padding-block-start:var(--space-3)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-ingredients{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .recipe-chat-card .recipe-chat-card-steps{font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex;gap:var(--space-1);flex-direction:column;margin:0;padding-inline-start:var(--space-5)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-wrapper{display:flex;flex-direction:column;margin-block-end:var(--space-3)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-meta{padding-inline:var(--space-1);line-height:var(--line-height-normal)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary{display:flex;white-space:nowrap;cursor:pointer;list-style:none;user-select:none;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:1ch}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary::-webkit-details-marker{display:none}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:hover{background-color:var(--color-bg-hover)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:active{transform:scale(.97)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-summary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role{font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.user{color:var(--color-slate-dark)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-role.assistant{color:var(--color-copper-dark)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-cost{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-panel{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);font-size:var(--font-size-xs);flex-direction:column;margin-block-start:var(--space-2)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top{display:flex;align-items: flex-start;gap:var(--space-2)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-token-breakdown{flex:1}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-detail-top .message-delete-btn{display:inline-flex;align-items: center;gap:var(--space-1);flex-shrink:0;margin-inline-start:auto}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown{display:flex;gap:var(--space-1)var(--space-4);font-family:var(--font-mono);flex-wrap:wrap;margin:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown>div{display:flex;gap:var(--space-1)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt{color:var(--color-text-muted)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dt:after{content:":"}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-token-breakdown dd{color:var(--color-text-primary);margin:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-tool-calls{display:flex;gap:var(--space-2);flex-direction:column}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call{display:flex;gap:var(--space-1);flex-direction:column}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:var(--color-copper-dark)}.tool-call--error :is(:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-name){color:var(--color-error)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-error{color:var(--color-error)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .tool-call-args{padding:var(--space-2);background:var(--color-bg-hover);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:pre;overflow-x:auto;overflow-y:auto;max-height:192px;margin:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-4)var(--space-6);line-height:var(--line-height-normal);position:relative;box-shadow:var(--shadow-sm)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.user{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-slate)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message.assistant{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:4px solid var(--color-copper)}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message{padding:var(--space-3)var(--space-4)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-filter-context{display:block;font-size:var(--font-size-sm);color:var(--color-copper);margin-block-end:var(--space-2)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{word-break:break-word;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content{font-size:var(--font-size-base);line-height:var(--line-height-normal)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-4)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p:last-child{margin-block-end:0}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content p{margin-block:0 var(--space-3)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-block:var(--space-6)var(--space-3);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3:first-child{margin-block-start:0}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h3{font-size:var(--font-size-xl);margin-block:var(--space-5)var(--space-2)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-copper-dark);margin-block:var(--space-5)var(--space-2);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content h4:first-child{margin-block-start:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{margin-block:var(--space-3);padding-left:var(--space-6)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul li{margin-block:var(--space-4)}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content ul{padding-left:var(--space-4)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .shopping-list li{margin-block-start:0;margin-block-end:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content strong{font-family:var(--font-body);font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--color-copper-dark);font-weight:var(--font-weight-bold)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content em{color:var(--color-text-secondary);font-style:italic}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .message-content .chat-fetched-image{display:block;object-fit:cover;border-radius:var(--radius-md);width:auto;max-width:100%;max-height:320px;margin-block-end:var(--space-4)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{border:1px solid var(--color-border-default);background:color-mix(in srgb,var(--color-copper)6%,var(--color-bg-surface));padding:var(--space-5);margin-block:var(--space-4);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);position:relative}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion{padding:var(--space-3)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion:hover{box-shadow:var(--shadow-md)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);display:flex;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px;padding:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link{font-size:var(--font-size-base);text-decoration:none}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-detail-link:hover{background:var(--color-copper);color:#fff}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn{font-size:var(--font-size-lg)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn:disabled{opacity:.4;cursor:default}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{display:inline-flex;background:var(--color-bg-surface);color:var(--color-copper);border:1px solid var(--color-copper);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;border-radius:var(--radius-sm);vertical-align:middle;transition:background-color var(--transition-fast),color var(--transition-fast);justify-content:center;align-items: center;width:20px;height:20px;margin-inline-start:var(--space-1);padding:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:hover:not(:disabled){background:var(--color-copper);color:#fff}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn:disabled{opacity:.4;cursor:default}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--added{color:var(--color-success);border-color:currentColor}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-add-btn.wine-suggestion-add-btn--error{color:var(--color-error);border-color:currentColor}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link{text-decoration:none}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-inline-detail-link:hover{background:var(--color-copper);color:#fff}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-name a:hover{color:var(--color-copper)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{display:block;font-family:var(--font-display);font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-2);line-height:1}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .wine-suggestion .wine-name{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .stock-info{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-block-end:var(--space-3);font-style:italic}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-reason{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-normal);margin-block-start:var(--space-4)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes{margin-block:var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes p{margin-block:var(--space-2)var(--space-3)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{margin-block:var(--space-2);padding-left:var(--space-6)}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul{padding-left:var(--space-4)}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .pairing-notes ul li{margin-block:var(--space-2)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{display:flex;gap:var(--space-3);align-items: flex-end}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input::placeholder{color:var(--color-text-muted);font-style:italic}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{border:1px solid var(--color-border-default);background:var(--color-bg-surface);field-sizing:content;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-height:72px;max-height:12lh;box-shadow:inset 0 1px 3px #0000000d}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea:focus{outline:none;border-color:var(--color-accent-primary);background:#fff;box-shadow:0 0 0 3px #9b6b4a1a}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea::placeholder{color:var(--color-text-muted);font-style:italic}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{display:flex;gap:var(--space-2);flex-direction:column;flex-shrink:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-1)var(--space-2)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{height:calc(var(--space-4) + var(--space-5));justify-content:center}@media (max-width:767.999px){:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container{gap:var(--space-2);flex-direction:column;align-items:stretch}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container input{min-height:unset;font-size:1rem}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container textarea{min-height:unset;font-size:1rem}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .chat-input-actions{flex-direction:row}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container .model-select{font-size:var(--font-size-sm);flex-shrink:0}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-input-container button[type=submit]{padding:var(--space-3);font-size:var(--font-size-sm);flex:1}}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state{display:flex;padding:var(--space-10);text-align:center;flex-direction:column;justify-content:center;align-items: center;height:100%}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state h2{font-family:var(--font-display);font-size:var(--font-size-display);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-4)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-empty-state p{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-normal);max-width:600px;margin-block-end:var(--space-6)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-5);background:var(--color-cream-dark);border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);margin-block-end:var(--space-6)}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-spinner{font-size:var(--font-size-xl);animation:1.5s ease-in-out infinite pulse}:is(.chat-assistant,.meals-chat-panel,.recipe-chat-panel,.cooking-panel--chat) .chat-loading .loading-text{color:var(--color-text-secondary);font-size:var(--font-size-base);font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.wine-ref-popover{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);width:min(var(--dialog-width-sm),90vw);height:min(var(--dialog-height-sm),70vh);display:flex;flex-direction:column;padding:0}.wine-ref-popover[popover]{position:fixed;position-anchor:--wine-ref-popover-anchor;position-area:top span-right;margin-bottom:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.wine-ref-popover-body{display:flex;gap:var(--space-3);padding:var(--space-4);flex-direction:column;flex:1;min-height:0}.wine-ref-popover-body .form-field{flex-shrink:0}.wine-ref-popover-body .adhoc-search-results{overflow-y:auto;flex:1}.chat-title-bar{display:flex;justify-content:space-between;align-items: center;gap:var(--space-4);padding:var(--space-3)var(--space-6);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);flex-direction:row;min-width:0}@media (max-width:767.999px){.chat-title-bar{position:sticky;z-index:var(--z-sticky);padding:var(--space-2)var(--space-4);top:0}}.chat-kb-btn{display:inline-flex;align-items: center;gap:var(--space-2);text-decoration:none;flex-shrink:0}@media (max-width:767.999px){.chat-kb-btn .chat-kb-btn-label{display:none}}.chat-title-text{display:block;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;view-transition-name:chat-title;flex:1}@media (max-width:767.999px){.chat-title-text{font-size:var(--font-size-base)}}.chat-title-text.chat-title-text--untitled{color:var(--color-text-muted)}.chat-list-toolbar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);align-items:stretch}.chat-list-toolbar button{height:auto}.chat-list-filter{padding:var(--space-2)var(--space-3);flex:1}.chat-list-row{flex-direction:column;align-items:stretch;gap:0}.chat-list-link{display:block;text-decoration:none;color:inherit}.chat-list-name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);transition:color var(--transition-fast)}@media (max-width:767.999px){.chat-list-name{font-size:var(--font-size-lg)}}.chat-list-link:hover .chat-list-name{color:var(--color-copper-dark)}.chat-list-meta{display:flex;align-items: center;gap:var(--space-2);font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-muted);font-family:var(--font-body)}.chat-list-meta-sep{opacity:.5}.chat-list-count{color:var(--color-text-tertiary)}.chat-list-actions{margin-left:auto}.topic-edit-input{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);background:var(--color-bg-surface);outline:none;box-shadow:0 1px 0 var(--color-border-default);transition:box-shadow var(--transition-fast);border:none;width:100%;padding:0}.topic-edit-input:focus{box-shadow:0 1px 0 var(--color-accent-primary)}.chat-context-toggles{display:flex;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-block-start:1px solid var(--color-border-default);flex-shrink:0;align-items: center}chat-form .chat-context-toggles{border-block-start:none;padding-block-end:0;padding-inline-start:0;padding-inline-end:0}.chat-context-toggle{display:flex;align-items: center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast)}.chat-context-toggle input[type=checkbox]{accent-color:var(--color-accent-primary);cursor:pointer}.chat-context-toggle:hover{color:var(--color-text-primary)}.chat-wine-ref-toggle:active{color:var(--color-copper-dark)}.chat-wine-ref-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.chat-wine-ref-toggle:disabled{opacity:.4;cursor:default;pointer-events:none}}@layer components{order-import{display:block;margin-block-end:var(--space-8)}order-import .order-import-container{border:1px solid var(--color-border-default);padding:var(--space-6);background:var(--color-bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}order-import .order-import-heading{margin-block-end:var(--space-3)}order-import .order-import-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-block-end:var(--space-4)}order-import .order-import-textarea{padding:var(--space-3);border:1px solid var(--color-border-default);background:var(--color-bg-surface);font-family:var(--font-mono);font-size:var(--font-size-sm);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;min-height:10lh}order-import .order-import-textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}order-import .order-import-textarea::placeholder{color:var(--color-text-tertiary)}order-import .order-import-meta{display:flex;gap:var(--space-2);flex-direction:column;margin-block-end:var(--space-4)}order-import .order-import-meta-row{display:flex;align-items: center;gap:var(--space-3)}order-import .order-import-meta-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);flex-shrink:0;min-width:8rem}order-import .order-import-order-id{font-size:var(--font-size-sm);padding:var(--space-1)var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:10rem}order-import .order-import-order-id:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}order-import .order-import-actions{display:flex;gap:var(--space-3);align-items: center;margin-block-start:var(--space-4)}order-import .order-import-actions .btn-secondary{padding-block:var(--space-2);line-height:inherit}@media (max-width:767.999px){order-import .order-import-actions{flex-direction:column;align-items:stretch}}order-import .import-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap}order-import .import-status.import-status--match{color:var(--color-info)}order-import .import-status.import-status--create{color:var(--color-success)}order-import .import-status.import-status--found{color:var(--color-info)}order-import .import-status.import-status--new{color:var(--color-warning)}order-import .order-import-result-link{display:inline-block;color:var(--color-accent-primary);font-weight:var(--font-weight-semibold);text-decoration:none;font-size:var(--font-size-sm);margin-block-end:var(--space-4)}order-import .order-import-result-link:hover{text-decoration:underline}order-import .order-plan-qty-input{width:4rem}order-import .order-preview-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%;margin-block-end:var(--space-4)}order-import .order-preview-table th{text-align:start;padding:var(--space-2)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-block-end:2px solid var(--color-copper)}order-import .order-preview-table td{padding:var(--space-2)var(--space-3);border-block-end:1px solid var(--color-border-subtle);vertical-align:middle}order-import .order-results-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%;margin-block-end:var(--space-4)}order-import .order-results-table th{text-align:start;padding:var(--space-2)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-block-end:2px solid var(--color-copper)}order-import .order-results-table td{padding:var(--space-2)var(--space-3);border-block-end:1px solid var(--color-border-subtle);vertical-align:middle}order-import .order-preview-id{font-family:var(--font-mono);color:var(--color-text-secondary);white-space:nowrap}order-import .order-result-id{font-family:var(--font-mono);color:var(--color-text-secondary);white-space:nowrap}order-import .order-preview-name{color:var(--color-text-primary);width:100%}order-import .order-preview-qty{text-align:end;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);white-space:nowrap}order-import .order-result-name{color:var(--color-text-primary)}order-import .order-result-name[href]{color:var(--color-accent-primary);text-decoration:none}order-import .order-result-name[href]:hover{text-decoration:underline}order-import .order-result-id-fallback{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}order-import .order-result-status-cell{text-align:end;white-space:nowrap}order-import .order-result-error{color:var(--color-error);font-size:var(--font-size-sm);padding:var(--space-2)var(--space-3)}order-import .order-import-in-progress{color:var(--color-info);font-weight:var(--font-weight-semibold);margin-block-end:var(--space-4)}order-import .order-import-summary{border-radius:var(--radius-sm);margin-block-end:var(--space-4)}}@layer components{.cellar-view .tab-bar{margin-block-end:var(--space-5)}.cellar-filter-bar{display:flex;align-items: center;margin-block-end:var(--space-7)}.cellar-occasion-filter{height:var(--control-height-btn);padding:0 var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-base);cursor:pointer;transition:border-color var(--transition-fast)}.cellar-occasion-filter:focus{outline:none;border-color:var(--color-accent-primary)}.cellar-view{padding-block-end:var(--space-9)}.cellar-empty{text-align:center;color:var(--color-text-secondary);padding-block:var(--space-9);font-size:var(--font-size-base)}.cellar-usage-section{margin-block-end:var(--space-9)}.cellar-usage-section:last-child{margin-block-end:0}.cellar-usage-header{margin-block-end:var(--space-6)}.cellar-usage-count{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:normal;text-transform:none;font-variant-numeric:tabular-nums;font-weight:400}.cellar-type-group{margin-block-end:var(--space-6)}.cellar-type-group:last-child{margin-block-end:0}.cellar-type-label{font-family:var(--font-body);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary);border-left:3px solid var(--wine-color,var(--color-brand-primary));margin-block-end:var(--space-4);padding-inline-start:var(--space-2);font-weight:600}.cellar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-5)}.cellar-bottle{display:flex;text-decoration:none;color:inherit;position:relative;outline:none;flex-direction:column;align-items: center}.cellar-bottle-images{position:relative;aspect-ratio:1/3;width:100%;max-height:270px}.cellar-bottle-image-container{position:relative;z-index:2;display:flex;justify-content:center;align-items: center;width:100%;height:100%}.cellar-bottle-images img{object-fit:contain;max-width:100%;max-height:100%}.cellar-bottle-ghost{position:absolute;display:flex;pointer-events:none;justify-content:center;align-items: center;inset:0}.cellar-bottle-ghost--1{z-index:1;transform:translate(var(--space-2),calc(var(--space-1)*-1))scale(.95)}.cellar-bottle-ghost--2{z-index:0;transform:translate(calc(var(--space-2)*2),calc(var(--space-1)*-2))scale(.9)}.cellar-bottle-placeholder{color:var(--wine-color,var(--color-brand-primary));width:40%;max-height:100%}.cellar-bottle-name{font-size:var(--font-size-sm);text-align:center;line-height:var(--line-height-tight);margin-block-start:var(--space-2)}.cellar-bottle-vintage{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}.cellar-bottle-stock{position:absolute;background:var(--wine-color,var(--color-brand-primary));color:var(--color-text-inverse);font-size:var(--font-size-xs);padding:var(--space-1)var(--space-2);border-radius:var(--radius-pill);text-align:center;min-width:18px;font-weight:600;line-height:1;top:0;right:0}.cellar-bottle{transition:color var(--transition-fast),transform var(--transition-fast)}.cellar-bottle:hover .cellar-bottle-name{color:var(--color-accent-interactive)}.cellar-bottle:active{transform:scale(.97)}.cellar-bottle:focus-visible{outline:2px solid var(--color-accent-interactive);outline-offset:2px;border-radius:var(--radius-md)}@media (max-width:767.999px){.cellar-view{padding-block-end:var(--space-6)}.cellar-usage-section{margin-block-end:var(--space-6)}.cellar-usage-header{font-size:var(--font-size-xl);position:sticky;background:var(--color-bg-base);box-shadow:var(--shadow-below);z-index:var(--z-sticky);padding-block:var(--space-3);margin-block-end:var(--space-4);margin-inline:calc(var(--space-4)*-1);padding-inline:var(--space-4);top:0}.cellar-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.cellar-bottle-images{max-height:270px}.cellar-bottle-name{font-size:var(--font-size-xs)}}}@layer components{.analytics-section{margin-block-end:var(--space-9)}.analytics-section:last-child{margin-block-end:0}.analytics-section-title{color:var(--color-text-heading);margin-block-end:var(--space-5)}.analytics-section-qualifier{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:var(--letter-spacing-normal);color:var(--color-text-secondary)}.analytics-lifecycle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.analytics-stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-5)}.analytics-stat-label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary);line-height:var(--line-height-tight);margin-block-end:var(--space-2)}.analytics-stat-value{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-text-heading);font-weight:400;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-tight);margin-block-end:var(--space-1)}.analytics-stat-detail{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.analytics-stat-footnote{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;line-height:var(--line-height-tight);margin-block-start:var(--space-1)}.analytics-drinking-bar{display:flex;height:var(--space-3);background:var(--color-cream-dark);width:100%;margin-block-end:var(--space-5)}.analytics-drinking-segment{height:100%}.analytics-drinking-segment[data-status=past-peak]{background:var(--color-window-past-peak)}.analytics-drinking-segment[data-status=optimal]{background:var(--color-window-optimal)}.analytics-drinking-segment[data-status=too-early]{background:var(--color-window-hold)}.analytics-drinking-segment[data-status=unknown]{background:var(--color-window-unknown)}.analytics-drinking-legend{display:flex;gap:var(--space-2)var(--space-6);flex-wrap:wrap}.analytics-drinking-legend-item{display:flex;align-items: center;gap:var(--space-2)}.analytics-drinking-legend-swatch{flex-shrink:0;width:12px;height:12px}.analytics-drinking-legend-swatch[data-status=past-peak]{background:var(--color-window-past-peak)}.analytics-drinking-legend-swatch[data-status=optimal]{background:var(--color-window-optimal)}.analytics-drinking-legend-swatch[data-status=too-early]{background:var(--color-window-hold)}.analytics-drinking-legend-swatch[data-status=unknown]{background:var(--color-window-unknown)}.analytics-drinking-legend-label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary)}.analytics-drinking-legend-stat{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.analytics-composition-group{margin-block-end:var(--space-7)}.analytics-composition-group:last-child{margin-block-end:0}.analytics-composition-subtitle{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary);line-height:var(--line-height-tight);margin-block-end:var(--space-4)}.analytics-bar-list{display:flex;flex-direction:column}.analytics-bar-row{display:grid;grid-template-columns:90px 1fr 44px;align-items: center;gap:var(--space-3)}.analytics-bar-label{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-bar-label--link{text-decoration:none;transition:color var(--transition-fast)}.analytics-bar-label--link:hover{color:var(--color-accent-primary)}.analytics-bar-label--link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.analytics-bar-track{height:var(--space-3);background:var(--color-cream-dark);overflow:hidden}.analytics-bar-fill{background:var(--bar-fill,var(--color-accent-primary));height:100%}.analytics-bar-stat{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:end;white-space:nowrap}@media (max-width:767.999px){.analytics-lifecycle-grid{grid-template-columns:1fr}.analytics-section-title{font-size:var(--font-size-lg)}.analytics-bar-row{grid-template-columns:60px 1fr 36px}.analytics-drinking-legend{gap:var(--space-2)var(--space-4)}}}@layer components{.timeline-section{margin-block-end:var(--space-7)}.timeline-section:last-child{margin-block-end:0}.timeline-section-header{--section-heading-border:var(--section-color,var(--color-border-default));margin-block-end:var(--space-4)}.timeline-flat-grid,.timeline-year-group .cellar-grid{display:flex;gap:var(--space-2);padding-block:var(--space-2);flex-wrap:wrap}.timeline-flat-grid .cellar-bottle,.timeline-year-group .cellar-bottle{flex:0 0 64px}.timeline-flat-grid .cellar-bottle-stock,.timeline-year-group .cellar-bottle-stock{z-index:var(--z-raised)}.timeline-flat-grid .cellar-bottle-images,.timeline-year-group .cellar-bottle-images{max-height:170px}.timeline-flat-grid .cellar-bottle-image-container,.timeline-year-group .cellar-bottle-image-container{align-items: flex-end}.timeline-flat-grid .cellar-bottle-name,.timeline-year-group .cellar-bottle-name{font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px}.timeline-flat-grid .cellar-bottle-vintage,.timeline-year-group .cellar-bottle-vintage{display:none}.timeline-year-group{display:flex;align-items: center;gap:var(--space-2);margin-block-end:var(--space-3)}.timeline-year-group:last-child{margin-block-end:0}.timeline-year-label{writing-mode:vertical-lr;font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-inverse);background:var(--color-accent-secondary);padding:var(--space-3)var(--space-2);display:flex;user-select:none;flex-shrink:0;justify-content:center;align-self:stretch;align-items: center;transform:rotate(180deg)}.timeline-empty{text-align:center;color:var(--color-text-secondary);padding-block:var(--space-9);font-size:var(--font-size-base)}.timeline-footnote{font-size:var(--font-size-xs);color:var(--color-text-muted);padding-block-start:var(--space-3);font-style:italic}@media (max-width:767.999px){.timeline-section-header{position:sticky;background:var(--color-bg-base);box-shadow:var(--shadow-below);z-index:var(--z-sticky);padding-block:var(--space-3);margin-inline:calc(var(--space-4)*-1);padding-inline:var(--space-4);top:0}}}@layer components{.shopping-wine-search{display:flex;flex-direction:column;margin-block-end:var(--space-6)}.shopping-view .tab-bar{margin-block-end:var(--space-6)}.tab-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:0;color:var(--color-text-muted);margin-inline-start:var(--space-1)}.tab--active .tab-count{color:var(--color-text-secondary)}.shopping-section{margin-block-end:var(--space-9)}.shopping-intent-row .nav-list-name{font-size:var(--font-size-lg)}.shopping-priority-group{margin-block-end:var(--space-6)}.shopping-priority-group:last-child{margin-block-end:0}.shopping-priority-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-block-end:var(--space-3)}.shopping-intent-row a.nav-list-name:hover{color:var(--color-accent-primary)}.shopping-item-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.shopping-item-note--date{color:var(--color-text-muted)}.shopping-item-product-id{display:inline-flex;align-items: center;gap:var(--space-1);white-space:nowrap}.shopping-item-product-link{font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none}.shopping-item-product-link:hover{text-decoration:underline;color:var(--color-brand-primary)}.shopping-item-product-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.shopping-item-actions{display:flex;align-items: center;gap:var(--space-2)}.shopping-item-actions .btn-ghost{padding-inline:var(--space-2)}.shopping-view .nav-list-actions{opacity:1}.shopping-item-qty{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:2.5ch}.shopping-item-title-row{display:flex;align-items:baseline;column-gap:var(--space-2);flex-wrap:wrap;min-width:0}.shopping-item-type{flex-shrink:0}.shopping-item-price{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.shopping-intent-row.is-pending{opacity:.5;pointer-events:none}.shopping-order-group{margin-block-end:var(--space-6)}.shopping-order-group:last-child{margin-block-end:0}.shopping-order-header{padding-block:var(--space-2);border-bottom:2px solid var(--color-border-default);margin-block-end:0}.shopping-group-header{display:flex;align-items: flex-start;gap:var(--space-3);padding-block:var(--space-3);border-bottom:2px solid var(--color-border-default)}.shopping-group-info{display:flex;gap:var(--space-1);flex-direction:column;flex:1;min-width:0}.shopping-group-title-block{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.shopping-group-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.shopping-group-usage-chip{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);white-space:nowrap}.shopping-group-deadline{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.shopping-group-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.shopping-group-actions{display:flex;align-items: center;gap:var(--space-1);flex-shrink:0}.shopping-group-actions .btn-ghost{padding-block-start:0;padding-block-end:0;padding-inline:var(--space-2);height:24px}.shopping-order-ref{display:flex;align-items: center;gap:var(--space-2)}.shopping-order-ref .shopping-order-id-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent-primary);text-decoration:none}.shopping-order-ref .shopping-order-id-link:hover{text-decoration:underline}.shopping-order-ref .shopping-order-id-link:active{opacity:.7}.shopping-order-ref .shopping-order-id-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.shopping-order-ref .btn-ghost{padding-block-start:0;padding-block-end:0;padding-inline:var(--space-1);color:var(--color-text-tertiary);height:20px}.shopping-order-ref-edit{display:flex;align-items: center;gap:var(--space-2)}.shopping-ref-input{font-size:var(--font-size-sm);padding:var(--space-1)var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:8rem}.shopping-ref-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.shopping-order-header-actions{display:flex;align-items: center;gap:var(--space-1);flex-shrink:0}@media (max-width:767.999px){.shopping-group-header{flex-direction:column}.shopping-group-actions{justify-content:flex-end;align-self:stretch}.shopping-view .tab{text-align:center;padding-inline:var(--space-2);font-size:var(--font-size-xs);flex:1}.shopping-item-actions{gap:var(--space-1)}.shopping-item-actions .stock-controls{margin-inline-end:auto}}.shopping-avail-bar{display:flex;align-items:stretch;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-5)}.shopping-filter-btn--active{background-color:var(--color-accent-primary);border-color:var(--color-accent-primary);color:var(--color-bg-surface)}.shopping-filter-btn--active:hover{background-color:var(--color-copper-dark);border-color:var(--color-copper-dark)}.shopping-store-filter{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);padding:0 var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer}.shopping-store-filter--active{border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.shopping-nearby-done{font-size:var(--font-size-xs);color:var(--color-text-muted);align-self: center}.shopping-nearby-error{font-size:var(--font-size-xs);color:var(--color-error);align-self: center}.shopping-avail-row{display:flex;column-gap:var(--space-2);flex-wrap:wrap}.shopping-avail-store{font-size:var(--font-size-xs);color:var(--color-success)}.shopping-avail-orderable{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.shopping-avail-none{font-size:var(--font-size-xs);color:var(--color-text-muted)}.shopping-dialog-source{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-block-end:0}}@keyframes shopping-flash{0%{background-color:color-mix(in srgb,var(--color-accent-primary)18%,transparent)}to{background-color:#0000}}.shopping-item--flash{animation:1.4s ease-out forwards shopping-flash}@layer components{@media (max-width:767.999px){meal-planner-view,recipe-view,side-dish-detail-view{display:block;height:calc(100svh - var(--bottom-nav-height));overflow:hidden}body.keyboard-open :is(meal-planner-view,recipe-view,side-dish-detail-view){height:100svh}}.meals-layout,.recipe-layout{display:flex;overflow:hidden;flex-direction:column;height:100%}@media (max-width:767.999px){:is(.meals-layout,.recipe-layout){height:calc(100svh - var(--bottom-nav-height))}}.meals-panels,.recipe-panels{display:flex;overflow:hidden;flex:1;min-height:0}@media (max-width:767.999px){:is(.meals-panels,.recipe-panels){overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth}}.meals-chat-panel,.recipe-chat-panel{border-inline-end:1px solid var(--color-border-default);display:flex;overflow:hidden;background:var(--color-cream-dark);flex-direction:column;flex:375px;order:-1;min-width:0;max-width:720px}@media (max-width:767.999px){:is(.meals-chat-panel,.recipe-chat-panel){overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;border-inline-end:none;flex-shrink:0;flex-basis:100vw;order:0;max-width:100vw;height:100%}}@media (min-width:1035px){.meals-chat-panel,.meals-week-panel,.recipe-chat-panel,.recipe-doc-panel{min-width:375px}}.meals-chat-header,.recipe-chat-header{display:flex;min-height:var(--space-10);padding-inline:var(--space-5);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;align-items: center}.chat-window{overflow-y:auto;flex:1;min-height:0}.meals-chat-panel .chat-window,.recipe-chat-panel .chat-window{padding-inline:var(--space-4)}.meals-chat-panel .chat-form,.recipe-chat-panel .chat-form{padding-inline-start:var(--space-4);padding-inline-end:calc(var(--space-4) + var(--scrollbar-width))}.chat-panel-header{display:flex;padding-inline:var(--space-3);justify-content:center;align-items: center}.chat-menu-btn{anchor-name:--chat-menu-anchor;font-size:var(--font-size-base);color:var(--color-text-muted);padding:var(--space-1)var(--space-2);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;line-height:1}.chat-menu-btn:hover{color:var(--color-text-primary);box-shadow:var(--shadow-ink)}.chat-menu-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.chat-menu-popover{position:fixed;position-anchor:--chat-menu-anchor;top:anchor(bottom);left:anchor(center);margin:var(--space-1)0 0;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);min-width:160px;translate:-50%}.chat-menu-item{display:block;text-align:start;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:background var(--transition-fast);width:100%}.chat-menu-item:hover{background:var(--color-bg-hover)}.chat-menu-item.chat-menu-item--danger{color:var(--color-error)}.chat-menu-confirm-text{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:var(--space-2)var(--space-3)var(--space-1)}.chat-menu-confirm-actions{display:flex;gap:var(--space-1)}:is(.meals-chat-panel,.recipe-chat-panel) .message{padding:var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}:is(.meals-chat-panel,.recipe-chat-panel) .message.user{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:3px solid var(--color-slate,var(--color-text-muted))}:is(.meals-chat-panel,.recipe-chat-panel) .message.assistant{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-inline-start:3px solid var(--color-accent-primary)}:is(.meals-chat-panel,.recipe-chat-panel) .message.thinking{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-subtle)}:is(.meals-chat-panel,.recipe-chat-panel) .message.error{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-subtle)}:is(.meals-chat-panel,.recipe-chat-panel) .message.error{background:var(--color-error-bg);color:var(--color-error)}:is(.meals-chat-panel,.recipe-chat-panel) .message-header{display:flex;border-block-end:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;margin-block-end:var(--space-2);padding-block-end:var(--space-2)}:is(.meals-chat-panel,.recipe-chat-panel) .message-header strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}:is(.meals-chat-panel,.recipe-chat-panel) .message-timestamp{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}:is(.meals-chat-panel,.recipe-chat-panel) .message-content{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary)}:is(.meals-chat-panel,.recipe-chat-panel) .message-content p{margin-block-start:0;margin-block-end:0}.meals-week-panel{display:flex;overflow:hidden;flex-direction:column;flex:375px;min-width:0;max-width:720px}@media (max-width:767.999px){.meals-week-panel{overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;flex-shrink:0;flex-basis:100vw;max-width:100vw}}.meals-week-header{display:flex;align-items: center;gap:var(--space-4);padding:var(--space-4)var(--space-6);min-height:var(--height-3-baselines);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);flex-shrink:0}@media (max-width:767.999px){.meals-week-header{align-items: center;gap:0 var(--space-2);padding-block:var(--space-1);padding-inline:var(--space-3);min-height:unset;flex-wrap:wrap}}.meals-week-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-heading);letter-spacing:var(--letter-spacing-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;margin:0;line-height:1}@media (max-width:767.999px){.meals-week-title{font-size:var(--font-size-sm);font-family:var(--font-body);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);padding-block:var(--space-2)}}.meals-nav-btn{width:var(--space-7);height:var(--space-7);font-size:var(--font-size-lg);display:flex;flex-shrink:0;justify-content:center;align-items: center}.meals-week-meta{display:flex;align-items: center;gap:var(--space-3);flex-shrink:0}@media (max-width:767.999px){.meals-week-meta{padding-block:var(--space-1);border-block-start:1px solid var(--color-border-subtle);justify-content:flex-end;width:100%}}.meals-people-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);border-radius:var(--radius-sm);padding:0 var(--space-1);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:1px solid #0000}.meals-people-btn:hover{color:var(--color-accent-primary);border-color:var(--color-border-default)}.meals-people-btn:active{scale:.92}.meals-people-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-people-edit{display:inline-flex;align-items: center;gap:var(--space-1)}.meals-day-header .meals-people-edit{margin-inline-end:auto}.meals-people-input{text-align:center;font-size:var(--font-size-sm);padding:var(--space-1);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);width:36px}.meals-people-sep{font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-people-ok{font-size:var(--font-size-xs);color:var(--color-accent-primary);padding:0 var(--space-1)}.meals-people-ok:hover{text-decoration:underline}.meals-week-more-btn{display:flex;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-base);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items: center;width:28px;height:28px;line-height:1}.meals-week-more-btn:hover{color:var(--color-text-secondary);border-color:var(--color-border-default);box-shadow:var(--shadow-ink)}.meals-week-more-btn:active{transform:scale(.92)}.meals-week-more-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-week-action-menu{position:fixed;top:calc(var(--height-2-baselines) + var(--space-1));right:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);min-width:160px;margin:0}.meals-week-action-menu:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.meals-week-action-menu:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.meals-week-action-menu:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.meals-week-action-menu:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.meals-week-action-menu:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.meals-week-action-menu:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.meals-week-action-item{display:block;text-align:start;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding:var(--space-3)var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:background var(--transition-fast);width:100%}.meals-week-action-item:hover{background:var(--color-bg-hover)}.meals-week-action-item:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.meals-week-action-item.meals-week-action-item--danger{color:var(--color-error)}.meals-delete-week-confirm{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-6);background:var(--color-warning-bg);border-block-end:1px solid var(--color-border-default);font-size:var(--font-size-sm);flex-shrink:0}@media (max-width:767.999px){.meals-delete-week-confirm{padding-inline:var(--space-3);gap:var(--space-2);flex-wrap:wrap}}.meals-delete-week-confirm-msg{color:var(--color-text-secondary);flex:1}.meals-grid{overflow-y:auto;display:grid;grid-template-columns:1fr;background:0 0;flex:1;align-content: start;gap:0}@media (max-width:767.999px){.meals-grid{overflow-y:visible;min-height:unset;flex:none}}.meals-day{background:var(--color-bg-surface);display:flex;border-block-end:1px solid var(--color-border-subtle);flex-direction:column;padding:0}.meals-day.meals-day--today{border-inline-start:3px solid var(--color-accent-primary)}.meals-day-header{display:flex;padding:var(--space-3)var(--space-4);background:var(--color-bg-base);box-shadow:0 1px 0 var(--color-border-default);flex-direction:row;justify-content:space-between;align-items: center}.meals-day--today .meals-day-header{background:color-mix(in srgb,var(--color-accent-primary)8%,var(--color-bg-base))}.meals-day-household{font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:var(--radius-sm);padding:0 var(--space-1);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:1px solid #0000;margin-inline-start:var(--space-2);margin-inline-end:auto}.meals-day-household:hover{color:var(--color-text-primary);border-color:var(--color-border-default)}.meals-day-household:active{scale:.95}.meals-day-household:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-day-name{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-primary)}.meals-day--today .meals-day-name{color:var(--color-accent-primary)}.meals-day-date{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:normal;text-transform:none;color:var(--color-text-secondary);margin-inline-start:var(--space-2)}.meals-day--today .meals-day-date{color:var(--color-accent-primary)}.meals-day-body{display:flex;gap:var(--space-2);padding:var(--space-3)var(--space-4);flex-direction:column;flex:1}.meals-course-wrapper{display:flex;flex-direction:column}.meals-course-slot-row{position:relative}.meals-course-delete{position:absolute;display:flex;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items: center;width:24px;height:24px;line-height:1;top:0;right:0}.meals-course-wrapper:hover .meals-course-delete{opacity:1}.meals-course-delete:hover{color:var(--color-error)}.meals-course-delete:active{color:var(--color-error);opacity:1}.meals-course-delete:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;opacity:1}.meals-course-delete:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.meals-course-wrapper--confirming{padding:var(--space-2)var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-default);display:flex;gap:var(--space-2);flex-direction:column}.meals-course-confirm-msg{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.meals-course-confirm-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.meals-course-confirm-btn{padding:var(--space-1)var(--space-3);font-size:var(--font-size-sm)}.meals-course-confirm-btn.meals-course-confirm-btn--cancel{color:var(--color-text-muted)}.meals-course-confirm-btn.meals-course-confirm-btn--cancel:hover{background:var(--color-bg-surface);color:var(--color-text-secondary);border-color:var(--color-border-default);box-shadow:none}.meals-course-label{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);text-transform:none;color:var(--color-text-muted);cursor:pointer;text-align:start;transition:color var(--transition-fast);background:0 0;border:none;align-self: flex-start;padding:0}.meals-course-label:not(.meals-course-label--empty){line-height:var(--line-height-normal)}.meals-course-label:hover{color:var(--color-accent-primary)}.meals-course-label:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-course-label:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.meals-course-label.meals-course-label--empty{opacity:0;transition:opacity var(--transition-fast)}.meals-course-wrapper:hover .meals-course-label--empty{opacity:1}.meals-course-label-input{font-size:var(--font-size-sm)}.meals-course-rename-input{padding:var(--space-2)var(--space-3);border:1px solid var(--color-accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-primary)15%,transparent);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);width:100%}.meals-course-rename-input:focus{outline:none}.meals-course-slot{display:flex;gap:var(--space-1);padding:var(--space-2)var(--space-3);min-height:var(--height-2-baselines);appearance:none;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);text-decoration:none;text-align:start;text-transform:none;font-family:inherit;font-size:var(--font-size-base);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex-direction:column;width:100%}.meals-course-slot:has(.meals-course-thumb){align-items: center;gap:var(--space-3);min-height:var(--height-3-baselines);flex-direction:row;padding:0;padding-inline-end:var(--space-3)}.meals-course-slot:hover{border-color:var(--color-copper-light)}.meals-course-slot:active{box-shadow:var(--shadow-ink);transform:none}.meals-course-slot:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-course-slot:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.meals-course-slot--readonly{cursor:default;pointer-events:none}.meals-course-no-recipe-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.meals-course-name{display:inline-flex;font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-normal);flex:1;align-items: center;min-width:0}.meals-course-thumb{width:calc(var(--height-3-baselines) - 2px);object-fit:cover;display:block;flex-shrink:0;align-self:stretch}.meals-course-placeholder{color:var(--color-text-muted);font-style:italic}.meals-add-course{display:flex;align-items: center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border:1px dashed var(--color-border-subtle);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);cursor:pointer;text-align:start;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);background:0 0}.meals-add-course:hover{background:var(--color-bg-hover);border-color:var(--color-border-default);color:var(--color-text-secondary)}.meals-add-course:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.meals-add-course:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.meals-day-notes{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.meals-add-course--compact{width:var(--space-6);height:var(--space-6);font-size:var(--font-size-base);display:flex;justify-content:center;align-items: center;line-height:1}.meals-week-cta{display:flex;padding:var(--space-5)var(--space-6);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);flex-shrink:0;justify-content:center;align-items: center}.meals-lucky-btn{padding:var(--space-3)var(--space-7)}.recipe-doc-panel{overflow-y:auto;background:var(--color-bg-surface);padding:var(--space-6);display:flex;gap:var(--space-6);flex-direction:column;flex:375px;min-width:0;max-width:720px}@media (max-width:767.999px){.recipe-doc-panel{overflow-x:hidden;scroll-snap-align:start;padding:var(--space-4);flex-shrink:0;flex-basis:100vw;max-width:100vw}}.recipe-header{display:flex;align-items: center;gap:var(--space-4);padding:var(--space-3)var(--space-5);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);min-height:var(--space-10);flex-shrink:0}@media (max-width:767.999px){.recipe-header{min-height:var(--height-2-baselines);padding:var(--space-2)var(--space-3)}}.recipe-header .recipe-back-link{flex-shrink:0}.recipe-header .recipe-title{font-size:var(--font-size-lg);line-height:var(--line-height-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-block-end:1px solid #0000;flex:1;min-width:0}.recipe-header .recipe-title:focus{border-block-end-color:var(--color-accent-primary);white-space:normal;overflow:visible;text-overflow:unset}.recipe-day-label,.recipe-header-spacer,.recipe-day-nav{display:none}@media (min-width:768px){.recipe-header--week .recipe-title{flex:0 auto}.recipe-header--week .recipe-day-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);flex-shrink:0}.recipe-header--week .recipe-header-spacer{display:block;flex:1}.recipe-header--week .recipe-day-nav{display:flex;align-items: center;gap:var(--space-1)}}.recipe-day-nav-btn{display:flex;width:var(--space-8);height:var(--space-8);font-size:var(--font-size-lg);color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);justify-content:center;align-items: center}.recipe-day-nav-btn:hover{color:var(--color-text-primary);box-shadow:var(--shadow-ink)}.recipe-day-nav-btn:active{color:var(--color-text-primary)}.recipe-day-nav-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-day-nav-btn[aria-disabled]{color:var(--color-text-muted);pointer-events:none}.recipe-doc-header{display:none}.recipe-back-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.recipe-back-link:hover{color:var(--color-accent-primary)}@media (max-width:767.999px){.recipe-back-link .recipe-back-label{display:none}}.recipe-status{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.recipe-status.recipe-status--draft{color:var(--color-info)}.recipe-status.recipe-status--planned{color:var(--color-copper-dark)}.recipe-status.recipe-status--cooked{color:var(--color-success)}.recipe-cover-section{display:flex;gap:var(--space-5);align-items: flex-start}@media (max-width:767.999px){.recipe-cover-section{flex-direction:column}}.recipe-cover-image{flex:2 22rem;max-width:640px}@media (max-width:767.999px){.recipe-cover-image{flex:none;width:100%}}.recipe-cover-img{display:block;aspect-ratio:1;object-fit:cover;cursor:zoom-in;grid-area:1/1;width:100%}.recipe-cover-carousel{overflow-x:auto;display:flex;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.recipe-cover-carousel::-webkit-scrollbar{display:none}.recipe-cover-slide{scroll-snap-align:start;display:grid;outline:1px solid #0000001a;outline-offset:-1px;flex:0 0 100%}.recipe-cover-slide-label{grid-area:1/1;position:sticky;left:var(--space-2);margin-bottom:var(--space-2);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);pointer-events:none;background:#00000080;place-self: end start}.recipe-cover-delete-btn{grid-area:1/1;position:sticky;right:var(--space-2);margin-top:var(--space-2);opacity:0;transition:opacity var(--transition-base);color:var(--color-text-inverse);border-radius:var(--radius-sm);font-size:var(--font-size-base);cursor:pointer;display:flex;background:#0000008c;border:none;justify-content:center;place-self: start end;align-items: center;width:1.75rem;height:1.75rem;line-height:1}.recipe-cover-delete-btn:hover{background:#000000bf}.recipe-cover-delete-btn:active{background:#000000e6}.recipe-cover-delete-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-cover-slide:hover .recipe-cover-delete-btn{opacity:1}.recipe-cover-slide-confirm-overlay{grid-area:1/1;display:none;justify-content:center;align-items: center;gap:var(--space-3);background:#000000a6}.recipe-cover-slide-confirm-overlay .btn-danger{min-width:6rem;height:2.5rem}.recipe-cover-slide-confirm-overlay .btn-secondary{min-width:6rem;height:2.5rem}.recipe-cover-slide--confirming .recipe-cover-slide-confirm-overlay{display:flex}.recipe-cover-slide--confirming .recipe-cover-delete-btn{pointer-events:none}.recipe-cover-slide--confirming .recipe-cover-label-pill{pointer-events:none}.recipe-cover-slide--confirming .recipe-cover-img{pointer-events:none}.recipe-cover-label-pill{pointer-events:auto;cursor:text}.recipe-cover-label-pill:empty:after{content:"Beskrivelse…";opacity:.45}.recipe-cover-label-edit-input{grid-area:1/1;position:sticky;left:var(--space-2);margin-bottom:var(--space-2);color:var(--color-text-inverse);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding:var(--space-1)var(--space-2);outline:none;background:#000000a6;border:1px solid #fff6;place-self: end start;width:10rem}.recipe-cover-label-edit-input:focus-visible{border-color:#fffc}.image-lightbox{overflow:hidden;cursor:zoom-out;background:0 0;border:none;max-width:100vw;max-height:100dvh;margin:auto;padding:0}.image-lightbox::backdrop{background-color:var(--color-bg-overlay-dark)}.image-lightbox:focus-visible{outline:none}.image-lightbox-img{display:block;object-fit:contain;max-width:92vw;max-height:92dvh}.recipe-cover-sidebar{display:flex;gap:var(--space-3);flex-direction:column;flex:none;min-width:10rem}.recipe-cover-sidebar>.btn-secondary{text-align:center;display:block;width:100%}.recipe-cover-sidebar>.recipe-cooking-btn{text-align:center;display:block;width:100%}.recipe-cover-sidebar>.recipe-upload-image-label{text-align:center;display:block;width:100%}.recipe-cover-sidebar>.recipe-upload-image-label>.btn-secondary{display:block;text-align:center;width:100%}.recipe-cover-sidebar>.recipe-source-link{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-1)}@media (max-width:767.999px){.recipe-cover-sidebar{flex-flow:wrap;min-width:0}.recipe-cover-sidebar>.btn-secondary{display:inline-block;width:auto}.recipe-cover-sidebar>.recipe-cooking-btn{display:inline-block;width:auto}.recipe-cover-sidebar>.recipe-upload-image-label{display:inline-block;width:auto}.recipe-cover-sidebar>.recipe-upload-image-label>.btn-secondary{display:inline-block;width:auto}}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar{flex-flow:wrap;min-width:0;max-width:100%}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar>.btn-secondary{display:flex;justify-content:center;align-items: center;width:auto}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar>.recipe-upload-image-label{display:flex;justify-content:center;align-items: center;width:auto}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar>.recipe-upload-image-label>.btn-secondary{display:inline-flex;align-items: center;width:auto}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar>.recipe-cover-status{display:flex;align-items: center}.recipe-cover-section:not(:has(.recipe-cover-image)) .recipe-cover-sidebar>.recipe-cover-error{display:flex;align-items: center}.recipe-cover-status{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.recipe-cover-error{font-size:var(--font-size-sm);color:var(--color-error)}.recipe-cover-dialog{border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-bg-base);box-shadow:var(--shadow-xl);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),display var(--transition-fast),overlay var(--transition-fast);transition-behavior:allow-discrete;width:min(40rem,90vw);transform:translateY(-4px)}.recipe-cover-dialog[popover]{position:fixed;position-area:bottom center;margin-top:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.recipe-cover-dialog:popover-open{opacity:1;transform:translateY(0)}@starting-style{.recipe-cover-dialog:popover-open{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.recipe-cover-dialog{transition-duration:.01ms;transform:none}}.recipe-cover-dialog-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);margin:0 0 var(--space-4)}.recipe-cover-prompt-input{resize:vertical;font-size:var(--font-size-sm);width:100%}.recipe-cover-suggest-row{margin-block-start:var(--space-3)}.recipe-cover-dialog-actions{display:flex;gap:var(--space-3);margin-block-start:var(--space-4)}.recipe-remove-week-dialog{border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-6);background:var(--color-bg-base);box-shadow:var(--shadow-xl);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast),display var(--transition-fast),overlay var(--transition-fast);transition-behavior:allow-discrete;width:min(28rem,90vw);transform:translateY(-4px)}.recipe-remove-week-dialog[popover]{position:fixed;position-area:bottom center;margin-top:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.recipe-remove-week-dialog:popover-open{opacity:1;transform:translateY(0)}@starting-style{.recipe-remove-week-dialog:popover-open{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.recipe-remove-week-dialog{transition-duration:.01ms;transform:none}}.recipe-remove-week-actions{display:flex;gap:var(--space-2);flex-direction:column}.recipe-remove-week-btn--danger{color:var(--color-error)}.recipe-remove-week-btn--danger:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error)8%,transparent)}.recipe-remove-week-btn--danger:active{background:color-mix(in srgb,var(--color-error)14%,transparent)}.recipe-remove-week-date-row{display:flex;gap:var(--space-2);align-items: center}.recipe-remove-week-date-input{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-2);flex:auto}.recipe-error-inline{font-size:var(--font-size-sm);color:var(--color-error);margin:0}.recipe-doc-header{display:flex;flex-direction:column;gap:0}@media (max-width:767.999px){.recipe-doc-header{display:none}}.recipe-doc-kicker{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0}.recipe-doc-kicker a{color:inherit;text-decoration:none}.recipe-doc-kicker a:hover{color:var(--color-text-primary)}.recipe-doc-title{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:var(--font-weight-medium);color:var(--color-text-heading);letter-spacing:var(--letter-spacing-tight);margin:0;line-height:1}.recipe-title{font-family:var(--font-display);font-size:var(--font-size-display);font-weight:var(--font-weight-medium);color:var(--color-text-heading);letter-spacing:var(--letter-spacing-tight);outline:none;cursor:text;border:none;transition:border-color var(--transition-fast);background:0 0;border-block-end:1px solid #0000;margin:0;padding:0;line-height:1}.recipe-title:focus{border-block-end-color:var(--color-accent-primary)}.recipe-meta{display:flex;gap:var(--space-4)var(--space-7);flex-wrap:wrap}.recipe-servings-people{display:flex;align-items: center;gap:var(--space-1)}.recipe-servings-sep{font-size:var(--font-size-xs);color:var(--color-text-muted)}.recipe-servings-input{font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);border:1px solid var(--color-border-default);background:var(--color-bg-surface);padding:0 0 0 var(--space-2);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:40px}.recipe-servings-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.recipe-rating{display:flex;gap:var(--space-2);padding:var(--space-4)0 var(--space-4)var(--space-3);border-top:1px solid var(--color-border-subtle);cursor:pointer;transition:background-color var(--transition-fast),border-left-color var(--transition-fast);border-left:3px solid #0000;flex-direction:column}.recipe-rating:hover{background:var(--color-cream-dark);border-left-color:var(--color-copper)}.recipe-rating:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-rating.recipe-rating--empty{border-left-style:dashed}.recipe-rating.recipe-rating--empty:hover{border-left-color:var(--color-copper);border-left-style:solid}.recipe-rating.recipe-rating--editing{cursor:default;background:var(--color-cream-dark);border-left-color:var(--color-copper);gap:var(--space-3);padding-right:var(--space-4)}.recipe-rating.recipe-rating--editing:hover{background:var(--color-cream-dark)}.recipe-rating-invite{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.recipe-rating-stars{display:flex;gap:var(--space-1);font-size:var(--font-size-xl);line-height:1}.recipe-star{color:var(--color-border-default)}.recipe-star--filled{color:var(--color-copper)}.recipe-rating-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.recipe-rating-note-input{box-sizing:border-box;resize:vertical;font-family:var(--font-body);font-size:var(--font-size-base);padding:var(--space-2)var(--space-3);border:1px solid var(--color-border-default);background:var(--color-bg-surface);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:border-color var(--transition-fast);width:100%}.recipe-rating-note-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-primary)15%,transparent)}.recipe-rating-edit-actions{display:flex;gap:var(--space-3);align-items: center}.recipe-rating-edit-actions button{padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm)}.recipe-section{display:flex;gap:var(--space-3);flex-direction:column}.recipe-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-primary)}.recipe-section-header{border-block-end:1px solid var(--color-border-default)}.recipe-generate-cta{display:flex;padding:var(--space-8)var(--space-6);justify-content:center}.recipe-generate-btn{padding:var(--space-3)var(--space-7);background:var(--color-accent-primary);color:var(--color-text-inverse);border:1px solid var(--color-copper-dark);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.recipe-generate-btn:hover{background:var(--color-copper-dark);box-shadow:var(--shadow-ink)}.recipe-generate-btn:active{transform:scale(.97)}.recipe-generate-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-generate-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.recipe-ingredient-category{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-tertiary);margin-block-start:var(--space-6)}.recipe-ingredient-category:first-child{margin-block-start:0}.recipe-ingredient-row{display:grid;grid-template-columns:80px 1fr;gap:var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);align-items:baseline;margin-block-end:-.5px}.recipe-ingredient-amount{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:end}.recipe-ingredient-name em{color:var(--color-text-muted);font-style:italic}.recipe-step{display:grid;grid-template-columns:28px 1fr;gap:var(--space-4);align-items:baseline}.recipe-step-number{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-align:end;line-height:1}.recipe-step-text,.recipe-plating-instructions{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal)}.lead-in{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-xs)}.recipe-pairing-row{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-default);background:var(--color-bg-surface);display:flex;align-items: flex-start;gap:var(--space-4);flex-direction:row}.recipe-pairing-row+.recipe-pairing-row{border-block-start:none}.recipe-pairing-bottle{display:flex;flex-shrink:0;justify-content:center;align-items: center;width:40px;height:120px}.recipe-pairing-bottle-img{object-fit:contain;width:100%;height:100%}.recipe-pairing-bottle-placeholder{color:var(--color-border-strong);width:100%;height:100%}.recipe-pairing-content{display:flex;flex-direction:column;flex:1;min-width:0}.recipe-pairing-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);text-decoration:none}.recipe-pairing-label:-webkit-any(a):hover{color:var(--color-text-primary)}.recipe-pairing-label:-moz-any(a):hover{color:var(--color-text-primary)}.recipe-pairing-label:is(a):hover{color:var(--color-text-primary)}.recipe-pairing-label:-webkit-any(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-pairing-label:-moz-any(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-pairing-label:is(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-pairing-meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.recipe-pairing-reasoning{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal);margin:0}.recipe-pairing-note{border-block-start:1px solid var(--color-border-subtle);display:flex;flex-direction:column;margin-block-start:var(--space-3);padding-block-start:var(--space-3)}.recipe-pairing-note-rating{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items: center}.recipe-pairing-note-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.recipe-pairings-subheader{padding:var(--space-2)var(--space-4);border:1px solid var(--color-border-default);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);background:var(--color-bg-base);border-block-start:none}.recipe-archive-header{display:flex;justify-content:space-between;align-items: flex-end;gap:var(--space-4)}.recipe-new-btn{padding:var(--space-2)var(--space-5);background:var(--color-accent-primary);color:var(--color-text-inverse);border:1px solid var(--color-copper-dark);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0}.recipe-new-btn:hover{background:var(--color-copper-dark);box-shadow:var(--shadow-ink)}.recipe-new-btn:active{transform:scale(.97)}.recipe-new-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recipe-filter-tabs{margin-block-end:var(--space-6)}.recipe-list{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);flex-direction:column}.recipe-list-row{display:flex;border-block-end:1px solid var(--color-border-subtle);transition:background-color var(--transition-fast),border-inline-start-color var(--transition-fast);border-inline-start:3px solid #0000;align-items: flex-start}.recipe-list-row:last-child{border-block-end:none}.recipe-list-row:hover{background:var(--color-bg-hover);border-inline-start-color:var(--color-copper)}.recipe-list-link{display:flex;gap:var(--space-1);padding:var(--space-4)var(--space-5);text-decoration:none;color:inherit;flex-direction:column;flex:1;min-width:0}.recipe-list-name-row{display:flex;align-items:baseline;gap:var(--space-3)}.recipe-list-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);transition:color var(--transition-fast);line-height:1}.recipe-list-link:hover .recipe-list-name{color:var(--color-copper-dark)}.recipe-list-meta{display:flex;align-items: center;gap:var(--space-1)var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap}.recipe-list-date{font-family:var(--font-mono);letter-spacing:var(--letter-spacing-wide)}.recipe-list-variation{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.recipe-clone-btn{font-size:var(--font-size-xs);padding:var(--space-1)var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);background:0 0;flex-shrink:0;align-self: center;margin-inline-end:var(--space-4)}.recipe-clone-btn:hover{background:var(--color-bg-hover);border-color:var(--color-copper);color:var(--color-copper-dark)}.recipe-clone-btn:active{background:color-mix(in srgb,var(--color-copper)10%,transparent)}.recipe-clone-btn:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px}.recipe-delete-btn{font-size:var(--font-size-xs);padding:var(--space-1)var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;align-self: center;margin-inline-end:var(--space-4)}.recipe-delete-btn:hover{color:var(--color-error);border-color:var(--color-error)}.recipe-delete-btn:active{background:var(--color-error-bg)}.recipe-delete-btn:focus-visible{outline:2px solid var(--color-error);outline-offset:2px}.recipe-section--actions{padding:var(--space-4);border-top:1px solid var(--color-border-subtle)}.recipe-action-form{display:flex;align-items: center;gap:var(--space-2);flex-wrap:wrap}.recipe-action-date{font-family:var(--font-body);font-size:var(--font-size-sm);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-2);background:var(--color-bg-surface);color:var(--color-text-primary)}.recipe-action-cancel{font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1)var(--space-2);text-decoration:underline;background:0 0;border:none}.recipe-action-cancel:hover{color:var(--color-text-primary)}.recipe-action-cancel:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px}.recipe-action-confirm{font-size:var(--font-size-sm);color:var(--color-success);margin:0}.recipe-action-confirm a{color:inherit}.recipe-action-dialog{width:90vw;max-width:380px}.schedule-popover{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);max-width:var(--dialog-width-xs);width:90vw;padding:0}.schedule-popover[popover]{position:fixed;position-anchor:--schedule-popover-anchor;position-area:bottom center;margin-top:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.schedule-popover-header{padding:var(--space-2)var(--space-4);border-block-end:1px solid var(--color-border-default);display:flex;justify-content:space-between;align-items: center;gap:var(--space-3)}.schedule-popover-title{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}.schedule-popover-close{all:unset;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-lg);padding:var(--space-1);border-radius:var(--radius-sm);line-height:1}.schedule-popover-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.schedule-popover-close:focus-visible{outline:2px solid var(--color-copper);outline-offset:-1px}.schedule-popover-body{padding:var(--space-4);display:flex;gap:var(--space-3);flex-direction:column}.schedule-popover-footer{padding:var(--space-3)var(--space-4);border-block-start:1px solid var(--color-border-default);display:flex;align-items: center;gap:var(--space-2)}.wine-picker-dialog{max-width:var(--dialog-width-md);height:min(var(--dialog-height-lg),85vh);width:90vw}@media (max-width:767.999px){.wine-picker-dialog{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0}}.wine-picker-dialog .dialog-body{overflow-y:auto;min-height:0}.wine-picker-dialog .dialog-footer{justify-content:flex-start}.wine-picker-section{display:flex;gap:var(--space-2);flex-direction:column}.wine-picker-paired,.wine-picker-search-results{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);flex-direction:column}.wine-picker-search-input{font-family:var(--font-body);font-size:var(--font-size-sm);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:var(--space-2)var(--space-3);background:var(--color-bg-surface);color:var(--color-text-primary);width:100%}.wine-picker-search-input:focus{outline:2px solid var(--color-copper);outline-offset:-1px;border-color:var(--color-copper)}@media (max-width:767.999px){cooking-view{display:block;overflow:hidden;height:100svh}}.cooking-layout{display:flex;overflow:hidden;flex-direction:column;height:100%}@media (max-width:767.999px){.cooking-layout{height:100svh}}.cooking-header{display:flex;align-items: center;gap:var(--space-3);padding-inline:var(--space-5);min-height:var(--height-2-baselines);background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);flex-shrink:0}@media (max-width:767.999px){.cooking-header{padding-inline:var(--space-3);gap:var(--space-1)}}.cooking-back-link{font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0}@media (max-width:767.999px){.cooking-back-link .cooking-back-label{display:none}}.cooking-header-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1}.cooking-header-actions{display:flex;gap:var(--space-3);flex-shrink:0}@media (max-width:767.999px){.cooking-header-actions{display:none}}.cooking-header-menu-btn{display:none}@media (max-width:767.999px){.cooking-header-menu-btn{display:flex;width:var(--space-7);height:var(--space-7);font-size:var(--font-size-lg);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items: center;line-height:1}.cooking-header-menu-btn:hover{border-color:var(--color-border-default);box-shadow:var(--shadow-ink)}.cooking-header-menu-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}}.cooking-action-menu{position:fixed;top:calc(var(--height-2-baselines) + var(--space-1));right:var(--space-3);background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-1);min-width:160px;margin:0}.cooking-action-menu:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.cooking-action-menu:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.cooking-action-menu:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:auto}.cooking-action-menu:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.cooking-action-menu:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.cooking-action-menu:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:auto}.cooking-action-menu-item{display:block;text-align:start;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;padding:var(--space-3)var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-primary);transition:background var(--transition-fast);width:100%}.cooking-action-menu-item:hover{background:var(--color-bg-hover)}.cooking-action-menu-item:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.cooking-action-menu-item.cooking-action-menu-item--danger{color:var(--color-error)}.cooking-panel-tabs{display:none;background:var(--color-bg-surface);border-block-end:2px solid var(--color-border-default);flex-shrink:0}@media (max-width:767.999px){.cooking-panel-tabs{display:flex}}.cooking-panel-tab{padding-block:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);border-block-end:2px solid #0000;flex:1;margin-block-end:-2px}.cooking-panel-tab.cooking-panel-tab--active{color:var(--color-accent-primary);border-block-end-color:var(--color-accent-primary)}.cooking-panel-tab:hover:not(.cooking-panel-tab--active){color:var(--color-text-primary)}.cooking-panel-tab:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.cooking-panels{display:flex;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;flex:1;min-height:0}@media (min-width:768px){.cooking-panels{overflow:hidden;scroll-snap-type:unset;scroll-behavior:unset}}.cooking-panel{scroll-snap-align:start;scroll-snap-stop:always;display:flex;overflow-y:auto;overflow-x:hidden;flex-direction:column;flex:0 0 100vw;min-width:0;max-width:100vw;height:100%}@media (min-width:768px){.cooking-panel{flex:unset;max-width:unset;height:unset;scroll-snap-align:unset;scroll-snap-stop:unset;border-inline-end:1px solid var(--color-border-default)}.cooking-panel:last-child{border-inline-end:none}}@media (min-width:768px){.cooking-panel--ingredients{flex:0 0 300px}}@media (min-width:768px){.cooking-panel--steps{flex:2 375px;max-width:850px}}.cooking-panel--chat{container-type:inline-size;background:var(--color-cream-dark)}@media (min-width:768px){.cooking-panel--chat{overflow:hidden;flex:375px;max-width:700px}.cooking-panel--chat chat-window{display:flex;overflow:hidden;flex-direction:column;flex:1 1 0;min-height:0}}@media (min-width:768px){.cooking-layout--chat-empty .cooking-plating-preview:has(.cooking-plating-preview-image){max-height:none}.cooking-layout--chat-empty .cooking-panel--chat chat-window{flex-grow:0}.cooking-layout--chat-hidden .cooking-panel--chat{display:none}.cooking-layout--chat-hidden .cooking-panel--steps{border-inline-end:none}}.cooking-panel-header{display:flex;padding:var(--space-2)var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted);border-block-end:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:baseline}@media (max-width:767.999px){.cooking-panel-header{display:none}}.cooking-progress{font-variant-numeric:tabular-nums;color:var(--color-accent-primary)}.cooking-ingredients-list{flex:1}.cooking-category-header{padding:var(--space-3)var(--space-4)var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-base);border-block-end:1px solid var(--color-border-subtle)}.cooking-ingredient-row{display:flex;min-height:var(--mobile-touch-target);border-inline-start:3px solid var(--color-border-default);border-block-end:1px solid var(--color-border-subtle);padding-inline:var(--space-3)var(--space-4);align-items: center;gap:var(--space-3);cursor:pointer;background:var(--color-bg-surface);transition:background-color var(--transition-fast),border-color var(--transition-fast);user-select:none}.cooking-ingredient-row:hover{background:var(--color-bg-hover)}.cooking-ingredient-row:active{transform:scale(.99)}.cooking-ingredient-row:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.cooking-ingredient-row.cooking-ingredient-row--found{border-inline-start-color:var(--color-info);background:var(--color-info-bg)}.cooking-ingredient-row.cooking-ingredient-row--prepared{border-inline-start-color:var(--color-warning);background:var(--color-warning-bg)}.cooking-ingredient-row.cooking-ingredient-row--cooked{border-inline-start-color:var(--color-success);background:var(--color-success-bg)}.cooking-ingredient-row.cooking-ingredient-row--cooked .cooking-ingredient-name{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--color-success)}.cooking-ingredient-legend{display:flex;gap:var(--space-4);padding:var(--space-3)var(--space-4);border-block-start:1px solid var(--color-border-subtle);background:var(--color-bg-base);flex-shrink:0}.cooking-legend-item{display:flex;align-items: center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.cooking-legend-item:before{content:"";display:inline-block;border-radius:50%;flex-shrink:0;width:8px;height:8px}.cooking-legend-item.cooking-legend-item--found:before{background:var(--color-info)}.cooking-legend-item.cooking-legend-item--prepared:before{background:var(--color-warning)}.cooking-legend-item.cooking-legend-item--cooked:before{background:var(--color-success)}.cooking-ingredient-name{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal);transition:color var(--transition-fast)}.cooking-plating-preview{flex-shrink:0}.cooking-plating-preview:not(:empty){border-block-end:2px solid var(--color-border-default)}.cooking-plating-preview:has(.cooking-plating-preview-image){display:flex;overflow-y:scroll;flex-direction:column;flex:1 0 0;min-height:0;max-height:100cqi}.cooking-plating-preview-image{aspect-ratio:1;overflow:hidden;cursor:zoom-in;flex-shrink:0;width:100%}.cooking-plating-preview-image img{object-fit:contain;display:block;width:100%;height:100%}.cooking-plating-preview-text{background:var(--color-bg-surface);padding:var(--space-3)var(--space-4)var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);white-space:pre-line;flex-shrink:0}.cooking-plating-lightbox{cursor:zoom-out;background:0 0;border:none;max-width:90vmin;max-height:90vmin;padding:0}.cooking-plating-lightbox::backdrop{cursor:zoom-out;background:#000000d9}.cooking-plating-lightbox img{object-fit:contain;display:block;max-width:90vmin;max-height:90vmin}.cooking-plating-section{border-block-start:2px solid var(--color-border-default);background:var(--color-bg-surface);flex-shrink:0}.cooking-plating-image{aspect-ratio:1;overflow:hidden}.cooking-plating-image img{object-fit:cover;width:100%;height:100%}.cooking-plating-text{padding:var(--space-3)var(--space-4)var(--space-4);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);white-space:pre-line}.cooking-timers-area{position:sticky;z-index:1;background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);flex-shrink:0;top:0}.cooking-timer-cards{display:flex;gap:var(--space-2);padding:var(--space-2)var(--space-3);overflow-x:auto;align-items: center}.cooking-timer-card{scroll-snap-align:start;display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-base);transition:border-color var(--transition-fast),background-color var(--transition-fast);flex-direction:column;flex-shrink:0}.cooking-timer-card.cooking-timer-card--warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.cooking-timer-card.cooking-timer-card--warning .cooking-timer-countdown{color:var(--color-warning)}.cooking-timer-card.cooking-timer-card--overtime{border-color:var(--color-error);background:var(--color-error-bg)}.cooking-timer-card.cooking-timer-card--overtime .cooking-timer-countdown{color:var(--color-error)}.cooking-timer-card.cooking-timer-card--completed{opacity:.6}.cooking-timer-main{display:flex;align-items: center;gap:var(--space-2);padding:var(--space-1)var(--space-2)}.cooking-timer-countdown{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-heading);white-space:nowrap;cursor:pointer;flex-shrink:0}.cooking-timer-detail{display:none;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);padding:var(--space-1)var(--space-2);border-block-start:1px solid var(--color-border-subtle)}.cooking-timer-card--expanded .cooking-timer-detail{display:block}.cooking-timer-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.cooking-timer-label[contenteditable]{cursor:text;outline:none;border-radius:var(--radius-sm)}.cooking-timer-label[contenteditable]:hover:not(:focus-visible){text-decoration:underline;text-decoration-style:dashed}.cooking-timer-label[contenteditable]:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px;overflow:visible;text-overflow:clip}.cooking-timer-controls{display:flex;flex-shrink:0;gap:0}.cooking-timer-add-card{display:flex;padding:var(--space-1)var(--space-3);border:1px dashed var(--color-border-default);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);transition:border-color var(--transition-fast),color var(--transition-fast);flex-shrink:0;align-items: center}.cooking-timer-add-card:hover{border-color:var(--color-text-muted);color:var(--color-text-primary)}.cooking-steps-list{flex:1}.cooking-step-row{display:flex;align-items: flex-start;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-block-end:1px solid var(--color-border-subtle);min-height:var(--mobile-touch-target)}.cooking-step-row.cooking-step-row--completed .cooking-step-label{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--color-success)}.cooking-step-check{accent-color:var(--color-accent-primary);cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-block-start:4px}.cooking-step-label{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast);flex:1}.cooking-step-number{display:inline-block;font-weight:var(--font-weight-bold);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-inline-end:var(--space-2)}.cooking-step-timer-btn{opacity:.4;transition:opacity var(--transition-fast);flex-shrink:0}.cooking-step-row:hover .cooking-step-timer-btn{opacity:1}.cooking-panel--chat .chat-window{overflow-y:auto;padding-inline:var(--space-4);flex:1;min-height:0}.cooking-panel--chat .chat-form{padding-inline-start:var(--space-4);padding-inline-end:calc(var(--space-4) + var(--scrollbar-width))}.cooking-timer-popover{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;max-width:var(--dialog-width-xs);flex-direction:column;width:90vw;padding:0}.cooking-timer-popover[popover]{position:fixed;position-anchor:--timer-popover-anchor;position-area:bottom center;margin-top:var(--space-2);top:unset;right:unset;left:unset;bottom:unset}.cooking-timer-popover-header{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--color-border-default);display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);flex-shrink:0}.cooking-timer-popover-header h2{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);margin:0}.cooking-timer-popover-close{padding:var(--space-1);color:var(--color-text-secondary);border-radius:var(--radius-sm);flex-shrink:0}.cooking-timer-popover-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.cooking-timer-popover-close:active{background:var(--color-bg-active)}.cooking-timer-popover-close:focus-visible{outline:2px solid var(--color-copper);outline-offset:-1px}.cooking-timer-popover-body{padding:var(--space-4);display:flex;background:var(--color-bg-base);flex-direction:column}.cooking-timer-popover-footer{padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border-default);display:flex;align-items: center;gap:var(--space-2)}.cooking-timer-cancel-btn{margin-inline-start:auto}.cooking-timer-form-row{display:flex;gap:var(--space-1);flex-direction:column}.cooking-timer-form-row+.cooking-timer-form-row{margin-block-start:var(--space-4)}.cooking-timer-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.cooking-timer-input{font-family:var(--font-body);font-size:var(--font-size-base);border:1px solid var(--color-border-default);padding:var(--space-2)var(--space-3);background:var(--color-bg-surface);color:var(--color-text-primary);width:100%}.cooking-timer-input:focus{outline:2px solid var(--color-copper);outline-offset:-1px;border-color:var(--color-copper)}.cooking-timer-input.cooking-timer-input--invalid{border-color:var(--color-error)}@media (min-width:768px){.cooking-ingredient-name,.cooking-step-label{font-size:var(--font-size-base)}.cooking-category-header{font-size:var(--font-size-sm)}}}@layer components{.meals-section-nav{position:sticky;z-index:var(--z-sticky);display:flex;background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);padding-inline:var(--space-3);align-items:stretch;top:0}@media (max-width:767.999px){.meals-section-nav{padding-inline:var(--space-1)}}.meals-section-nav-link{display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-decoration:none;padding:var(--space-3)var(--space-4);transition:color var(--transition-fast);align-items: center}.meals-section-nav-link:hover{color:var(--color-text-primary)}.meals-section-nav-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.meals-section-nav-link.meals-section-nav-link--active{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@media (max-width:767.999px){.meals-section-nav-link{font-size:var(--font-size-xs);padding-inline:var(--space-3)}}.side-dish-create-form{display:flex;background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-4);--control-height-btn:var(--control-height-input);flex-direction:column;margin-block-end:var(--space-6)}.side-dish-create-row{display:flex;gap:var(--space-3);align-items: flex-end;margin-block-end:var(--space-3)}.side-dish-create-row .form-field:first-child{flex:1}.side-dish-create-row .form-field:last-of-type{flex:1}.side-dish-create-row .side-dish-servings-field{flex-shrink:0;width:80px}@media (max-width:767.999px){.side-dish-create-row{flex-direction:column}.side-dish-create-row .side-dish-servings-field{width:100%}}.side-dish-create-submit{margin-inline-start:auto}.side-dish-empty-badge{font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}}@layer components{.side-dish-doc-panel{overflow-y:auto;gap:0;padding:0}.side-dish-doc-header{background:var(--color-bg-surface);border-block-end:1px solid var(--color-border-default);padding-inline:var(--space-6);flex-shrink:0;padding-block-start:var(--space-4)}@media (max-width:767.999px){.side-dish-doc-header{padding-inline:var(--space-4);padding-block-start:var(--space-3)}}.side-dish-doc-header .recipe-doc-title{margin:0 0 var(--space-3);font-size:var(--font-size-display);font-weight:var(--font-weight-semibold)}.side-dish-doc-header .tab-bar{border-block-end:none;margin-block-end:0}.side-dish-doc-body{overflow-y:visible;padding:var(--space-6);display:flex;gap:var(--space-6);flex-direction:column;flex:1;min-height:0}@media (max-width:767.999px){.side-dish-doc-body{padding:var(--space-4);gap:var(--space-5)}}side-dish-detail-view .recipe-doc-title[contenteditable]{border-block-end:1px solid var(--color-border-subtle);cursor:text;outline:none}side-dish-detail-view .recipe-doc-title[contenteditable]:focus{border-block-end-color:var(--color-accent-primary)}.side-dish-cover-section{display:flex;gap:var(--space-3);flex-direction:column}.side-dish-cover-row{align-items: flex-start}@media (max-width:767.999px){.side-dish-cover-row{flex-direction:row}}.side-dish-cover-compact{display:flex;align-items: flex-end;gap:var(--space-2);flex-direction:column;flex:none}.side-dish-cover-img{display:block;aspect-ratio:1;object-fit:cover;border:1px solid var(--color-border-default);width:120px}.side-dish-cover-placeholder{display:flex;aspect-ratio:1;background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;padding:var(--space-2);justify-content:center;align-items: center;width:120px}.side-dish-meta-item{display:flex;align-items:baseline;gap:var(--space-2);padding-block:var(--space-1)}.side-dish-cover-prompt{min-height:var(--space-8);padding:var(--space-1)var(--space-2);border:1px solid var(--color-border-default);background:var(--color-bg-surface);font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);resize:none;field-sizing:content;flex:1;min-width:0}.side-dish-cover-prompt:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-primary)12%,transparent)}.side-dish-cover-prompt::placeholder{color:var(--color-text-muted);font-style:italic}.side-dish-meta{flex:1;min-width:0}.side-dish-meta>*{flex-direction:column}.side-dish-meta-input{width:var(--space-10);font-size:var(--font-size-sm);color:var(--color-text-primary);border:none;border-block-end:1px solid var(--color-border-subtle);font-family:var(--font-body);line-height:var(--line-height-normal);background:0 0;padding:0}.side-dish-meta-input:focus{outline:none;border-block-end-color:var(--color-accent-primary)}.side-dish-meta-input::-webkit-inner-spin-button{opacity:.5}.side-dish-meta-input::-webkit-outer-spin-button{opacity:.5}.side-dish-tags-input{font-size:var(--font-size-sm);color:var(--color-text-primary);border:none;border-block-end:1px solid var(--color-border-subtle);font-family:var(--font-body);line-height:var(--line-height-normal);background:0 0;width:100%;padding:0}.side-dish-tags-input:focus{outline:none;border-block-end-color:var(--color-accent-primary)}.side-dish-tags-input::placeholder{color:var(--color-text-muted);font-style:italic}.side-dish-source-row{display:flex;align-items:baseline;gap:var(--space-2)}.side-dish-source-input{font-size:var(--font-size-sm);color:var(--color-text-primary);border:none;border-block-end:1px solid var(--color-border-subtle);font-family:var(--font-body);line-height:var(--line-height-normal);background:0 0;flex:1;padding:0}.side-dish-source-input:focus{outline:none;border-block-end-color:var(--color-accent-primary)}.side-dish-source-input::placeholder{color:var(--color-text-muted);font-style:italic}.side-dish-edit-add-btn{margin-block-start:var(--space-3)}.side-dish-detail-edit-mode{display:flex;gap:var(--space-5);--control-height-btn:var(--control-height-input);flex-direction:column}.side-dish-ingredient-edit-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.side-dish-ingredient-edit-table th{text-align:start;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap;padding-block-end:var(--space-2);padding-inline-end:var(--space-2)}.side-dish-ingredient-edit-table td{vertical-align:middle;padding-block-end:var(--space-2);padding-inline-end:var(--space-2)}.side-dish-ingredient-edit-table td:last-child{padding-inline-end:0}.side-dish-ingredient-edit-table td input{border:none;border-block-end:1px solid var(--color-border-subtle);padding:var(--space-1)0;font-family:var(--font-body);font-size:var(--font-size-sm);color:var(--color-text-primary);background:0 0;width:100%}.side-dish-ingredient-edit-table td input:focus{outline:none;border-block-end-color:var(--color-accent-primary)}.side-dish-ingredient-edit-table td input::placeholder{color:var(--color-text-muted)}.side-dish-ingredient-edit-table td:first-child{width:90px}.side-dish-ingredient-edit-table td:nth-child(2){width:56px}.side-dish-ingredient-edit-table td:nth-child(3){width:64px}.side-dish-ingredient-edit-table td:nth-child(5){width:110px}.side-dish-ingredient-edit-table td:nth-child(6){width:28px}.side-dish-step-edit-row{display:flex;gap:var(--space-2);border-block-end:1px solid var(--color-border-subtle);align-items: flex-start;padding-block-end:var(--space-3)}.side-dish-step-number{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);line-height:var(--line-height-normal);min-width:var(--space-6);text-align:end;flex-shrink:0;padding-block-start:var(--space-1)}.side-dish-step-textarea{padding:var(--space-2)var(--space-3);border:1px solid var(--color-border-default);background:var(--color-bg-surface);font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);resize:vertical;field-sizing:content;flex:1;min-height:60px}.side-dish-step-textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary)12%,transparent)}.side-dish-step-textarea::placeholder{color:var(--color-text-muted);font-style:italic}.side-dish-step-edit-actions{display:flex;gap:var(--space-1);flex-direction:column;flex-shrink:0}.side-dish-detail-edit-footer{display:flex;gap:var(--space-3);justify-content:flex-end}.side-dish-usage-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.side-dish-detail-delete-zone{display:flex;border-block-start:1px solid var(--color-border-subtle);justify-content:flex-end;padding-block-start:var(--space-6)}}@layer components{.settings-view{overflow-y:visible}.settings-tabs{display:flex;border-block-end:1px solid var(--color-border-default);gap:0;margin-block-end:var(--space-6)}.settings-tab{border:none;padding:var(--space-2)var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-block-end:2px solid #0000;margin-block-end:-1px}.settings-tab:hover{color:var(--color-text-primary)}.settings-tab.settings-tab--active{color:var(--color-text-heading);border-block-end-color:var(--color-accent-primary)}.settings-body>.settings-section{border-block-start:none;padding-block-start:0}.settings-back{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;display:inline-block;margin-block-end:var(--space-4)}.settings-back:hover{color:var(--color-text-heading)}.settings-section{border-block-start:1px solid var(--color-border-default);padding-block-start:var(--space-6)}.settings-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-2)}.settings-section-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-5)}.settings-subsection-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:var(--space-6)0 var(--space-2)}.settings-prompt-textarea{box-sizing:border-box;resize:vertical;font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);line-height:var(--line-height-normal);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);width:100%;margin-block-end:var(--space-4)}.settings-prompt-textarea:focus{outline:none;border-color:var(--color-accent-secondary);color:var(--color-text-primary)}.settings-profile-textarea{box-sizing:border-box;resize:vertical;font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);width:100%;margin-block-end:var(--space-4)}.settings-profile-textarea:focus{outline:none;border-color:var(--color-accent-secondary)}.settings-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-6)}.settings-error{font-size:var(--font-size-sm);color:var(--color-error);margin-block-end:var(--space-3)}.settings-success{font-size:var(--font-size-sm);color:var(--color-success);margin-block-end:var(--space-3)}.settings-inline-feedback{font-size:var(--font-size-sm);align-self: center}.settings-inline-feedback--error{color:var(--color-error)}.settings-inline-feedback--success{color:var(--color-success)}.ai-regen-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3)}.theme-swatches{display:flex;gap:var(--space-3);flex-wrap:wrap}.theme-swatch{display:flex;align-items: center;gap:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-default);color:var(--color-text-primary);padding:var(--space-3)var(--space-4);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.theme-swatch:hover{border-color:var(--color-accent-primary);background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:none}.theme-swatch.theme-swatch--active{border-color:var(--color-accent-primary);outline:2px solid var(--color-accent-primary);outline-offset:-1px;color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.theme-swatch-chip{border:1px solid var(--swatch-chip-border);border-radius:50%;flex-shrink:0;width:18px;height:18px}.theme-swatch--vineyard .theme-swatch-chip{background:linear-gradient(135deg,var(--swatch-vineyard-bg)50%,var(--swatch-vineyard-accent)50%)}.theme-swatch--cellar .theme-swatch-chip{background:linear-gradient(135deg,var(--swatch-cellar-bg)50%,var(--swatch-cellar-accent)50%)}.theme-swatch--verdure .theme-swatch-chip{background:linear-gradient(135deg,var(--swatch-verdure-bg)50%,var(--swatch-verdure-accent)50%)}.theme-swatch--adriatic .theme-swatch-chip{background:linear-gradient(135deg,var(--swatch-adriatic-bg)50%,var(--swatch-adriatic-accent)50%)}.settings-nav-tile{text-decoration:none;color:var(--color-text-primary)}.settings-nav-tile-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary)}}@layer components{.adhoc-search-results{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);flex-direction:column}.search-result-separator{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-2)var(--space-4);border-block-end:1px solid var(--color-border-subtle);background:var(--color-cream-dark)}.search-result-item{display:flex;border-bottom:1px solid var(--color-border-subtle);flex-direction:column}.search-result-item:last-child{border-bottom:none}.search-result-row{display:flex;background:var(--color-bg-surface);align-items:stretch}.search-result-row:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.search-row-nav{display:flex;padding:var(--space-3)var(--space-4);cursor:pointer;flex:1;align-items: center;min-width:0}.search-row-nav:has(.search-row-thumb){padding-inline-start:0}.search-row-nav:hover .search-row-name{text-decoration:underline;text-underline-offset:2px}.search-row-thumb{object-fit:contain;flex-shrink:0;align-self: center;width:48px;height:48px}.search-row-content{display:flex;flex-direction:column;flex:1;min-width:0}.search-row-name{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:var(--line-height-normal)}.search-row-meta{font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-muted)}.search-row-stock{position:relative;display:flex;align-items: center;gap:var(--space-4);--stat-item-gap:0;--stat-item-value-size:var(--font-size-base)}.search-row-stock .stat-item{position:relative}.search-row-stock .stat-item .meta-label{position:absolute;white-space:nowrap;bottom:calc(100% + var(--space-1))}.search-row-stock .stat-item .meta-label:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.search-row-stock .stat-item .meta-label:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.search-row-stock .stat-item .meta-label:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}.search-row-stock .stat-item .meta-label:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.search-row-stock .stat-item .meta-label:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.search-row-stock .stat-item .meta-label:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.search-row-shopping-wrap{position:relative}.search-row-added-confirm{position:absolute;white-space:nowrap;font-size:var(--font-size-xs);color:var(--color-text-secondary);padding-block-start:var(--space-1);top:21px;left:0}.search-row-actions{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-4);border-inline-start:1px solid var(--color-border-subtle);flex-shrink:0}.search-row-actions .btn-ghost{padding:var(--space-1)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.search-row-actions .btn-primary{padding:var(--space-1)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.search-row-actions .search-row-import-btn{display:inline-flex;width:var(--line-height-normal);height:var(--line-height-normal);justify-content:center;align-items: center;padding:0}.search-row-actions .search-row-add-shopping-btn{display:inline-flex;width:var(--line-height-normal);height:var(--line-height-normal);justify-content:center;align-items: center;padding:0}.search-row-actions .search-row-add-btn{display:inline-flex;width:var(--line-height-normal);height:var(--line-height-normal);justify-content:center;align-items: center;padding:0}.search-row-actions .search-row-avail-btn{display:inline-flex;width:var(--line-height-normal);height:var(--line-height-normal);justify-content:center;align-items: center;padding:0}@media (max-width:767.999px){.search-row-actions{padding:var(--space-2)var(--space-3);gap:var(--space-2)}.search-row-actions .search-row-stock{display:none}.search-row-actions .search-row-avail-wrap{display:none}.search-row-actions .search-row-avail-btn{display:none}}.search-row-error{font-size:var(--font-size-xs);color:var(--color-error)}.search-row-avail{display:none}.search-row-avail.open{display:flex;align-items: flex-start;gap:var(--space-2);background:var(--color-cream-dark);border-block-start:1px solid var(--color-border-subtle);padding:var(--space-3)var(--space-4);flex-direction:column}}@layer components{.home-view{overflow-y:auto;flex:1;min-height:0}.home-heading{font-size:var(--font-size-display);color:var(--color-text-heading);margin-block-end:var(--space-1)}@media (min-width:768px){.home-heading{display:none}}.home-search{display:flex;flex-direction:column;margin-block-end:var(--space-5)}.home-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-block-start:var(--space-7)}@media (max-width:767.999px){.home-nav-grid{gap:var(--space-2)}}.home-nav-grid--column{grid-template-columns:1fr}.home-nav-tile{display:flex;justify-content:center;align-items: center;gap:var(--space-3);padding:var(--space-5);background-color:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text-primary);text-align:center;transition:border-color var(--transition-fast);flex-direction:column;min-height:100px}.home-nav-tile:hover{border-color:var(--color-accent-primary)}.home-nav-tile--btn{cursor:pointer}.home-nav-tile--btn:active{box-shadow:var(--shadow-ink)}.home-nav-tile--btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.home-nav-tile-icon{color:var(--color-accent-primary)}.home-nav-tile-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.home-recent{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);margin-block-start:var(--space-6)}.home-recent-grid{margin-block-start:var(--space-6)}.home-recent-grid .home-recent{margin-block-start:0}.home-recent-grid .home-recent+.home-recent{margin-block-start:var(--space-6)}@media (min-width:768px){.home-recent-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.home-recent-grid .home-recent+.home-recent{margin-block-start:0}}.home-recent-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-2)var(--space-4);border-block-end:1px solid var(--color-border-default);position:sticky;background:var(--color-bg-surface);margin:0;top:0}.home-recent-item .search-row-thumb{mix-blend-mode:multiply}.home-recent-item{display:flex;padding:var(--space-3)var(--space-4);border-block-end:1px solid var(--color-border-subtle);text-decoration:none;color:var(--color-text-primary);transition:background-color var(--transition-fast);align-items: center}.home-recent-item:has(.search-row-thumb){padding-inline-start:0}.home-recent-item:last-child{border-block-end:none}.home-recent-item:hover{background:var(--color-cream-dark)}.home-recent-item:hover .search-row-name{text-decoration:underline;text-underline-offset:2px}.home-recent-item:active{background:color-mix(in srgb,var(--color-copper)8%,transparent)}.home-recent-item:focus-visible{outline:2px solid var(--color-copper);outline-offset:-2px}}@layer components{.language-switcher{display:flex;border:none;align-items: center;gap:0;margin-block-start:auto;padding:0}.language-switcher .lang-btn{display:inline-flex;height:var(--line-height-normal);padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--color-text-muted);position:relative;transition:color var(--transition-fast);align-items: center;line-height:1}.language-switcher .lang-btn+.lang-btn:before{content:"";position:absolute;background:var(--color-border-default);width:1px;height:10px;top:50%;left:0;transform:translateY(-50%)}.language-switcher .lang-btn:hover:not(.active){color:var(--color-text-secondary);background:0 0}.language-switcher .lang-btn.active{color:var(--color-copper);font-weight:var(--font-weight-bold);background:0 0;border:none}.lang-btn:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px;border-radius:2px}}@layer components{wine-notes{display:block}.wine-notes-heading{font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary)}.wine-notes-list{display:flex;flex-direction:column}.wine-note-row{border-top:1px solid var(--color-border-default);padding:var(--space-3)0}.wine-note-row:last-child{border-bottom:1px solid var(--color-border-default)}.wine-note-row.wine-note-row--pinned{border-top-color:var(--color-copper)}.wine-note-meta-row{margin-block-end:var(--space-2)}.wine-note-journalist{display:inline-flex;align-items: center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.wine-note-pin-btn{color:var(--color-text-muted);transition:color var(--transition-fast),transform var(--transition-fast)}.wine-note-pin-btn:hover{color:var(--color-copper)}.wine-note-pin-btn:active{transform:scale(.92)}.wine-note-pin-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.wine-note-pin-btn.wine-note-pin-btn--pinned{color:var(--color-copper)}.wine-note-content{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-relaxed);text-wrap:pretty}.wine-note-content p{margin-block-end:var(--space-3)}.wine-note-content p:first-child{margin-block-start:0}.wine-note-content p:last-child{margin-block-end:0}.wine-note-content ul{padding-inline-start:var(--space-5)}.wine-note-content ol{padding-inline-start:var(--space-5)}.wine-note-content li{margin-block-end:var(--space-1)}.wine-note-content h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2)}.wine-note-content h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2)}.wine-note-content h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-block-end:var(--space-2)}.wine-note-content code{font-family:var(--font-mono);background:var(--color-bg-elevated);padding:.1em .3em;font-size:.9em}.wine-note-content pre{background:var(--color-bg-elevated);padding:var(--space-3);overflow-x:auto}.wine-note-content pre code{background:0 0;padding:0}.wine-note-content blockquote{border-inline-start:3px solid var(--color-border-default);color:var(--color-text-secondary);padding-inline-start:var(--space-3)}.wine-note-content a{color:var(--color-copper);text-decoration:underline}.wine-note-images{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-3)}.wine-note-thumb-link{display:block;flex-shrink:0}.wine-note-thumb{display:block;object-fit:cover;border:1px solid var(--color-border-default);width:auto;max-width:120px;height:auto;max-height:80px}.wine-note-actions{display:flex;align-items: center;gap:var(--space-2);margin-block-start:var(--space-2)}.wine-note-actions .wine-note-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.wine-note-actions .wine-note-pin-btn{margin-inline-start:auto}.wine-note-actions--confirm{gap:var(--space-2)}.wine-note-actions--confirm .wine-note-confirm-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-inline-end:auto}.wine-notes-editor-slot{margin-block:var(--space-3)}wine-note-editor{display:block}.wine-note-editor{border-block-start:1px solid var(--color-border-default);display:flex;gap:var(--space-3);flex-direction:column;padding-block-start:var(--space-3)}.wine-note-editor-fields{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items: flex-end}.wine-note-editor-fields .form-field{gap:0;min-width:140px}.wine-note-editor-fields .form-field>span{font-size:var(--font-size-xs)}.wine-note-editor-content-area{display:flex;gap:var(--space-2);flex-direction:column}.wine-note-textarea{resize:vertical;font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-3);box-sizing:border-box;transition:border-color var(--transition-fast);width:100%;min-height:120px}.wine-note-textarea:focus{outline:none;border-color:var(--color-accent-primary)}.wine-note-preview-area{border:1px solid var(--color-border-default);padding:var(--space-3);background:var(--color-bg-surface);min-height:120px}.wine-note-preview-area p:first-child{margin-block-start:0}.wine-note-editor-images,.wine-note-pending-images{display:flex;gap:var(--space-2);flex-direction:column}.wine-note-editor-image-row{display:flex;align-items: center;gap:var(--space-3)}.wine-note-pending-filename{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.wine-note-editor-footer{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);flex-wrap:wrap}.wine-note-upload-btn{display:inline-flex;align-items: center;gap:var(--space-1);cursor:pointer}.wine-note-editor-actions{display:flex;gap:var(--space-3);margin-inline-start:auto}.wine-note-editor-error{margin-block-start:0;margin-block-end:0}}@layer components{editorial-import-page{display:block}editorial-import-page .editorial-import-body{padding-block-end:var(--space-9)}editorial-import-page .editorial-import-form{display:flex;gap:var(--space-5);flex-direction:column}editorial-import-page #journalist-field-wrap{display:flex;align-items: flex-start;row-gap:var(--space-2);flex-direction:column}editorial-import-page .editorial-import-actions{display:flex;justify-content:flex-end}editorial-import-page .editorial-import-wine-list{display:flex;gap:var(--space-5);flex-direction:column}editorial-import-page .editorial-import-card{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);--form-field-label-color:var(--color-text-secondary);flex-direction:row}@media (max-width:767.999px){editorial-import-page .editorial-import-card{flex-direction:column}}editorial-import-page .editorial-import-note-col{padding:var(--space-4);display:flex;gap:var(--space-2);flex-direction:column;flex:1;min-width:0}editorial-import-page .editorial-import-action-col{padding:var(--space-4);background:var(--color-cream-dark);border-inline-start:1px solid var(--color-border-default);display:flex;gap:var(--space-3);flex-direction:column;flex:0 0 220px}@media (max-width:767.999px){editorial-import-page .editorial-import-action-col{border-inline-start:none;border-block-start:1px solid var(--color-border-default);flex:none}}editorial-import-page .editorial-import-wine-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);line-height:var(--line-height-heading);margin:0}editorial-import-page .editorial-import-summary{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-normal);font-weight:var(--font-weight-bold);margin:0}editorial-import-page .editorial-import-note-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);white-space:pre-wrap;margin:0}editorial-import-page .editorial-import-include-check{text-transform:none;font-weight:var(--font-weight-normal);font-size:var(--font-size-sm)}editorial-import-page .editorial-import-include-check input[type=checkbox]{margin:0}editorial-import-page .editorial-import-id-field input{width:100%}editorial-import-page .editorial-import-vmp-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none}editorial-import-page .editorial-import-vmp-link:hover{text-decoration:underline}editorial-import-page .editorial-import-vmp-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}editorial-import-page .editorial-import-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);display:flex;align-items: center;gap:var(--space-2)}editorial-import-page .editorial-import-status--pending{color:var(--color-text-muted)}editorial-import-page .editorial-import-status--loading{color:var(--color-info)}editorial-import-page .editorial-import-status--done{color:var(--color-success)}editorial-import-page .editorial-import-status--error{color:var(--color-error);text-transform:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}editorial-import-page .editorial-import-status--skipped{color:var(--color-text-muted)}editorial-import-page .editorial-import-extracting{display:inline-flex;align-items: center;gap:var(--space-2)}editorial-import-page .editorial-import-list-footer{display:flex;align-items: center;gap:var(--space-4);flex-wrap:wrap;margin-block-start:var(--space-5)}@media (max-width:767.999px){editorial-import-page .editorial-import-list-footer{flex-direction:column;align-items:stretch}editorial-import-page .editorial-import-list-footer .btn-primary{justify-content:center;width:100%}}editorial-import-page .editorial-import-parse-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}editorial-import-page .editorial-import-reparse{display:flex;align-items: center;gap:var(--space-2);margin-inline-start:auto}editorial-import-page .editorial-import-reparse select{padding:var(--space-1)var(--space-2);border:1px solid var(--color-cream-darker);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-surface);color:var(--color-text-primary)}@media (max-width:767.999px){editorial-import-page .editorial-import-reparse{margin-inline-start:0}}editorial-import-page .editorial-import-recent{margin-block-start:var(--space-7)}editorial-import-page .editorial-import-recent-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-inline-start:auto}editorial-import-page .editorial-import-done-sections{display:flex;gap:var(--space-7);flex-direction:column}editorial-import-page .editorial-import-done-meta{display:flex;align-items: center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-direction:row}editorial-import-page .editorial-import-source-link{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px}editorial-import-page .editorial-import-source-link:hover{color:var(--color-text-primary)}editorial-import-page .editorial-import-source-link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}editorial-import-page .editorial-import-done-section{display:flex;gap:var(--space-4);flex-direction:column}editorial-import-page .editorial-import-done-list{display:flex;flex-direction:column}editorial-import-page .editorial-import-done-item{display:flex;align-items: center;gap:var(--space-2);padding:var(--space-2)0;border-block-end:1px solid var(--color-border-default);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-heading);text-decoration:none;flex-direction:row}editorial-import-page .editorial-import-done-item:last-child{border-block-end:none}editorial-import-page .editorial-import-done-item:-webkit-any(a):hover{text-decoration:underline}editorial-import-page .editorial-import-done-item:-moz-any(a):hover{text-decoration:underline}editorial-import-page .editorial-import-done-item:is(a):hover{text-decoration:underline}editorial-import-page .editorial-import-done-item:-webkit-any(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}editorial-import-page .editorial-import-done-item:-moz-any(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}editorial-import-page .editorial-import-done-item:is(a):focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}editorial-import-page .editorial-import-done-item--skipped{font-weight:var(--font-weight-normal);color:var(--color-text-secondary);flex-direction:column;align-items: flex-start}editorial-import-page .editorial-import-done-item--nolink{color:var(--color-text-secondary)}editorial-import-page .editorial-import-skipped-reason{font-size:var(--font-size-sm);color:var(--color-text-muted)}}@layer components{.wine-menu-page{padding-block-end:var(--space-8)}.wine-menu-title-row{display:flex;align-items: center;gap:var(--space-2)}.wine-menu-title-row h1{margin-block-end:0}.wine-menu-title-input{flex:1}.wine-menu-form{display:flex;gap:var(--space-5);flex-direction:column}.wine-menu-actions{--control-height-btn:var(--control-height-input);display:flex;justify-content:flex-end;align-items: center;gap:var(--space-3)}.wine-menu-recent{margin-block-start:var(--space-9)}.wine-menu-recent .section-heading{margin-block-end:var(--space-4)}.wine-menu-meta{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);margin-block-end:var(--space-4)}.wine-menu-filter-bar{--control-height-btn:var(--control-height-input);display:flex;align-items: center;gap:var(--space-3);margin-block-end:var(--space-4)}.wine-menu-filter-bar search{flex:1}.wine-menu-star-filter{flex-shrink:0}.wine-menu-filter-input{padding:var(--space-2)var(--space-3);width:100%}.wine-menu-toc{display:flex;gap:var(--space-2)var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-5)}.wine-menu-region{margin-block-start:var(--space-9);margin-block-end:var(--space-4)}.wine-menu-region:first-child{margin-block-start:0}.wine-menu-section{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-tertiary);margin-block-start:var(--space-7);padding-block-end:var(--space-2)}.wine-menu-section:first-child{margin-block-start:0}.wine-menu-entries{display:flex;flex-direction:column}.wine-menu-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title price" "body  price";padding-block:var(--space-3);border-top:1px solid var(--color-border-subtle)}.wine-menu-star-btn{margin-inline:calc(var(--space-2)*-1)}.wine-menu-star-btn--active{color:var(--color-accent-primary)}.wine-menu-row-body{grid-area:body;display:flex;flex-direction:column;min-width:0}.wine-menu-title-line{grid-area:title}.wine-menu-lookup-btn,.wine-menu-lookup-status{vertical-align:middle}.wine-menu-lookup-status{display:inline-flex;padding-inline:var(--space-2);color:var(--color-text-tertiary);vertical-align:middle;justify-content:center;align-items: center}.wine-menu-wine-name{font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}.wine-menu-vintage{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.wine-menu-origin{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-tertiary)}.wine-menu-note{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);max-width:var(--prose-max-width);margin-block-start:var(--space-2)}.wine-menu-reference{display:flex;align-items: center;column-gap:var(--space-2);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-secondary);flex-wrap:wrap}.wine-menu-reference.wine-menu-reference--error{color:var(--color-error)}.wine-menu-reference-body a{color:var(--color-text-secondary);text-decoration:none}.wine-menu-reference-body a:hover{text-decoration:underline}.wine-menu-reference-body{display:flex;align-items: center;column-gap:var(--space-2);flex-wrap:wrap}.wine-menu-row-actions{display:flex;flex-shrink:0;align-items: center}.wine-menu-reference-price{white-space:nowrap}.wine-menu-price-markup{font-family:var(--font-mono);font-weight:var(--font-weight-medium)}.wine-menu-price-markup.wine-menu-price-markup--low{color:var(--color-success)}.wine-menu-price-markup.wine-menu-price-markup--mid{color:var(--color-warning)}.wine-menu-price-markup.wine-menu-price-markup--high{color:var(--color-error)}.wine-menu-lookup-edit{flex:1;min-width:160px}.wine-menu-import-btn--error,.wine-menu-import-error{color:var(--color-error)}.wine-menu-import-btn--done{color:var(--color-success)}.wine-menu-reference-vintage{font-family:var(--font-mono);color:var(--color-warning)}.wine-menu-prices{grid-area:price;display:flex;text-align:end;flex-direction:column;align-self: start;align-items: flex-end}.wine-menu-price-primary{display:flex;align-items:baseline;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary)}.wine-menu-price-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.wine-menu-price-secondary{font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-tertiary)}.wine-menu-estimate{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted);font-style:italic}.wine-menu-list-footer{--control-height-btn:var(--control-height-input);display:flex;align-items: center;gap:var(--space-3);border-top:1px solid var(--color-border-default);margin-block-start:var(--space-7);padding-block-start:var(--space-4)}.wine-menu-reparse{display:flex;align-items: center;gap:var(--space-2);margin-inline-start:auto}@media (max-width:767.999px){.wine-menu-actions,.wine-menu-list-footer{flex-wrap:wrap}.wine-menu-reparse{margin-inline-start:0}.wine-menu-filter-bar{flex-direction:column;align-items:stretch}.wine-menu-star-filter{align-self:stretch}.wine-menu-star-filter .segmented-ctrl-btn{flex:1}.wine-menu-row{grid-template-areas:"title price" "body body"}}.wine-menu-match-dialog{max-width:var(--dialog-width-md)}}@layer components{.discover-main{display:flex;flex-direction:column;flex:1;min-width:0;height:100%}@media (max-width:767.999px){.discover-main{height:auto}}.discover-main.discover-main--empty .chat-window{display:none}.discover-main :-webkit-any(.chat-window,.chat-form,.discover-filter-panel){border-inline-end:1px solid var(--color-border-default)}.discover-main :-moz-any(.chat-window,.chat-form,.discover-filter-panel){border-inline-end:1px solid var(--color-border-default)}.discover-main :is(.chat-window,.chat-form,.discover-filter-panel){border-inline-end:1px solid var(--color-border-default)}.discover-history{flex:0 0 var(--discover-history-width);display:flex;border-inline-end:1px solid var(--color-border-default);overflow-y:auto;background:var(--color-bg-surface);flex-direction:column}@media (max-width:767.999px){.discover-history{overflow-y:visible;border-inline-end:none;border-block-end:1px solid var(--color-border-default);flex:none}}.discover-history-header{height:var(--height-2-baselines);box-sizing:border-box;padding-inline:var(--space-3);border-block-end:1px solid var(--color-border-subtle);display:flex;align-items: center;gap:var(--space-2)}.discover-history-header .btn-primary{flex:1}@media (max-width:767.999px){.discover-history-header{justify-content:space-between}.discover-history-header .btn-primary{flex:none}}.discover-new-conversation-btn{gap:var(--space-1)}.discover-history-toggle{display:none;align-items: center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.discover-history-toggle svg{transition:transform var(--transition-fast)}.discover-history-toggle:hover{color:var(--color-text-primary)}.discover-history-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (max-width:767.999px){.discover-history-toggle{display:inline-flex}}.discover-history--expanded .discover-history-toggle svg{transform:rotate(180deg)}.discover-history-section{display:flex;overflow-y:auto;flex-direction:column;flex:1;min-height:0;padding-block-start:var(--space-2)}@media (max-width:767.999px){.discover-history-section{display:none;overflow-y:visible;overflow-x:auto;gap:var(--space-2);padding-block-start:0;padding:var(--space-2)var(--space-3);flex-direction:row}}@media (max-width:767.999px){.discover-history--expanded .discover-history-section{display:flex}}.discover-history-label{display:block;padding:var(--space-1)var(--space-3)}@media (max-width:767.999px){.discover-history-label{display:none}}.discover-session-list{display:flex;flex-direction:column}@media (max-width:767.999px){.discover-session-list{gap:var(--space-2);flex-direction:row}}.discover-session-row{display:flex;padding:var(--space-2)var(--space-3);text-decoration:none;color:inherit;border-inline-start:3px solid #0000;border-block-end:1px solid var(--color-border-subtle);transition:background-color var(--transition-fast),border-inline-start-color var(--transition-fast);flex-direction:column}.discover-session-row:last-child{border-block-end:none}.discover-session-row:hover{background-color:var(--color-bg-hover);border-inline-start-color:var(--color-copper)}.discover-session-row:active{background-color:var(--color-bg-active)}.discover-session-row:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.discover-session-row.discover-session-row--active{background-color:var(--color-cream-dark);border-inline-start-color:var(--color-copper)}.discover-session-row.discover-session-row--active .discover-session-label{font-weight:var(--font-weight-semibold)}@media (max-width:767.999px){.discover-session-row{border-block-end:none;border:1px solid var(--color-border-subtle);padding:var(--space-2);border-inline-start:3px solid #0000;flex:0 0 140px}.discover-session-row.discover-session-row--active{border-inline-start-color:var(--color-copper)}}.discover-session-date{font-size:var(--font-size-xs);line-height:var(--line-height-normal);color:var(--color-text-muted)}.discover-session-label{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical}.discover-filter-panel{display:block;max-width:calc(var(--prose-max-width) + 4*var(--space-6));background:var(--color-bg-surface);width:100%}.filter-panel-toggle{display:flex;min-height:var(--mobile-touch-target);padding-inline:var(--space-6);align-items: center;gap:var(--space-2);border:none;border-block-start:1px solid var(--color-border-default);cursor:pointer;text-align:start;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-secondary);transition:color var(--transition-fast);background:0 0;width:100%}.filter-panel-toggle svg{transition:transform var(--transition-base);flex-shrink:0;margin-inline-start:auto}.filter-panel-toggle:hover{color:var(--color-text-primary)}.filter-panel-toggle:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}@media (max-width:767.999px){.filter-panel-toggle{padding-inline:var(--space-4)}}.filter-panel--expanded .filter-panel-toggle svg{transform:rotate(180deg)}.filter-panel-summary{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);text-transform:none;letter-spacing:var(--letter-spacing-normal);color:var(--color-copper);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.filter-panel-summary.filter-panel-summary--empty{color:var(--color-text-muted)}.filter-panel-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-base)}.filter-panel--expanded .filter-panel-body{grid-template-rows:1fr;border-block-start:1px solid var(--color-border-default)}.filter-panel-overflow{overflow:hidden;min-height:0}.filter-panel-inner{display:flex;gap:var(--space-3);padding-block:var(--space-3);padding-inline:var(--space-6);flex-direction:column}@media (max-width:767.999px){.filter-panel-inner{padding-inline:var(--space-4)}}.filter-section{display:flex;gap:var(--space-2);flex-direction:column}.filter-section--toggles{gap:var(--space-3);flex-flow:wrap;padding-block-end:var(--space-1)}.filter-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}.filter-chips{display:flex;gap:var(--space-1);flex-wrap:wrap}.filter-chip{padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background:var(--color-bg-surface);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.filter-chip:hover{border-color:var(--color-copper-light);color:var(--color-text-primary)}.filter-chip:active{background-color:var(--color-bg-hover)}.filter-chip:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.filter-chip.filter-chip--selected{background-color:var(--color-copper);border-color:var(--color-copper);color:var(--color-text-inverse)}.filter-chip--radio{border-radius:100px}.filter-price-range{display:flex;align-items: center;gap:var(--space-2)}.filter-price-input{height:var(--control-height-input);padding:0 var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:right;transition:var(--transition-input);appearance:textfield;width:60px}.filter-price-input::placeholder{color:var(--color-text-muted)}.filter-price-input:focus{outline:none;border-color:var(--color-copper);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-copper)20%,transparent)}.filter-price-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.filter-price-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-price-sep,.filter-price-unit{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.filter-grape-area{display:flex;align-items: center;gap:var(--space-2);flex-wrap:wrap}.filter-grape-chip{display:inline-flex;align-items: center;gap:var(--space-1);padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-copper);background-color:color-mix(in srgb,var(--color-copper)10%,transparent);font-size:var(--font-size-xs);color:var(--color-text-primary)}.filter-grape-chip-remove{display:flex;cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast);background:0 0;border:none;align-items: center;padding:0}.filter-grape-chip-remove:hover{color:var(--color-error)}.filter-grape-chip-remove:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.filter-grape-input{height:var(--control-height-input);padding:0 var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:var(--transition-input);flex:1;min-width:120px}.filter-grape-input::placeholder{color:var(--color-text-muted)}.filter-grape-input:focus{outline:none;border-color:var(--color-copper);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-copper)20%,transparent)}.filter-grape-suggestions{position:fixed;left:var(--_anchor-left,0);top:var(--_anchor-top,0);width:var(--_anchor-width,200px);padding:var(--space-1)0;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:var(--z-overlay);overflow-y:auto;max-height:200px;margin:0}.filter-grape-suggestions:popover-open{display:block}.filter-grape-suggestions:not(:popover-open){display:none}.filter-suggestion-item{display:block;padding:var(--space-2)var(--space-3);text-align:start;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;width:100%}.filter-suggestion-item em{font-style:normal;font-weight:var(--font-weight-semibold);color:var(--color-copper)}.filter-suggestion-item:hover{background-color:var(--color-bg-hover)}.filter-suggestion-item.filter-suggestion-item--active{background-color:var(--color-bg-hover)}.filter-suggestion-item:active{background-color:var(--color-bg-active)}.filter-suggestion-item:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.recommender-wine-results{border:1px solid var(--color-border-default);margin-block-start:var(--space-4)}.recommender-results-header{padding:var(--space-2)var(--space-3);border-block-end:1px solid var(--color-border-subtle)}.recommender-wine-scroll{display:flex;overflow-x:auto;gap:var(--space-3);padding:var(--space-3);background:var(--color-cream-light)}.recommender-wine-card{flex:0 0 var(--recommender-card-width);display:flex;border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);flex-direction:column;min-width:0}.recommender-wine-thumb-btn{display:block;cursor:zoom-in;transition:opacity var(--transition-fast);background:0 0;border:none;width:100%;padding:0}.recommender-wine-thumb-btn:hover{opacity:.88}.recommender-wine-thumb-btn:active{opacity:.75}.recommender-wine-thumb-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recommender-wine-thumb{height:var(--recommender-card-img-height);object-fit:contain;display:block;width:100%}.recommender-wine-thumb--placeholder{height:var(--recommender-card-img-height);display:block;width:100%}.recommender-wine-body{display:flex;padding:var(--space-2);flex-direction:column;flex:1;min-width:0}.recommender-wine-name{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-relaxed);color:var(--color-text-primary);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;-webkit-box-orient:vertical}.recommender-wine-name:hover{text-decoration:underline}.recommender-wine-name:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.recommender-wine-meta,.recommender-wine-region,.recommender-wine-grapes{font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.recommender-wine-grapes{color:var(--color-text-muted);font-style:italic}.recommender-wine-stores{display:flex;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-direction:column}.discover-main .chat-title-bar{display:flex;align-items: center;gap:var(--space-3)}.discover-main .chat-title-bar .chat-title-text{flex:1;min-width:0}.discover-delete-btn{anchor-name:--discover-delete-anchor;flex-shrink:0}.discover-delete-btn:hover:not(:disabled){color:var(--color-error)}.discover-delete-dialog{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);max-width:260px}.discover-delete-dialog[popover]{position-area:bottom span-left;position-anchor:--discover-delete-anchor;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;margin-block-start:var(--space-1)}.discover-delete-dialog p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3)}.discover-delete-dialog .discover-delete-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.recommender-wine-actions{display:flex;gap:var(--space-1);flex-direction:row;margin-block-start:auto;padding-block-start:var(--space-2)}.recommender-action--known{border-color:var(--color-border-strong)}.recommender-action--done{color:var(--color-success);border-color:var(--color-success);pointer-events:none}.recommender-action--error{color:var(--color-error);border-color:var(--color-error)}}@layer components{.kb-note-chips{display:flex;align-items: center;gap:var(--space-2);flex-wrap:wrap}.kb-chip{display:inline-flex;align-items: center;gap:var(--space-2);padding:var(--space-1)var(--space-2);border:1px solid var(--color-border-default);border-inline-start-width:3px;border-inline-start-color:var(--wine-color,var(--color-border-default));background:var(--color-bg-surface)}.kb-chip--exact{border-inline-start-color:var(--color-success)}.kb-chip--fuzzy{border-inline-start-color:var(--color-warning)}.kb-chip--new{border-inline-start-color:var(--color-info)}.kb-chip-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}.kb-chip-name{font-size:var(--font-size-sm);color:var(--color-text-primary)}.kb-chip-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-info)}.kb-chip-remove{font-size:var(--font-size-sm)}.kb-chip-parent{display:inline-flex;align-items: center;gap:var(--space-2)}.kb-chip--link{text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.kb-chip--link:hover{background:var(--color-cream-dark);box-shadow:var(--shadow-ink)}.kb-chip--link:active{transform:scale(.97)}.kb-chip--link:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}knowledge-capture-page{display:block}knowledge-capture-page .kb-capture-body{padding-block-end:var(--space-9)}knowledge-capture-page .kb-inline-spinner{display:inline-flex;align-items: center;gap:var(--space-2)}knowledge-capture-page .kb-intro{display:flex;justify-content:space-between;align-items: flex-start;gap:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border-default);background:var(--color-bg-surface)}@media (max-width:767.999px){knowledge-capture-page .kb-intro{flex-direction:column}}knowledge-capture-page .kb-intro-info{display:flex;flex-direction:column;min-width:0}knowledge-capture-page .kb-intro-topic{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);line-height:var(--line-height-heading);margin:0}knowledge-capture-page .kb-intro-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);margin:0}knowledge-capture-page .kb-intro-actions{display:flex;align-items: flex-end;gap:var(--space-3);flex-direction:column;flex-shrink:0}@media (max-width:767.999px){knowledge-capture-page .kb-intro-actions{align-items:stretch;width:100%}}knowledge-capture-page .kb-note-list{display:flex;gap:var(--space-5);flex-direction:column}knowledge-capture-page .kb-note-card{display:flex;border:1px solid var(--color-border-default);background:var(--color-bg-surface);transition:opacity var(--transition-fast);flex-direction:column}knowledge-capture-page .kb-note-card--excluded{opacity:.5}knowledge-capture-page .kb-note-main{display:flex;gap:var(--space-3);padding:var(--space-4);flex-direction:column}knowledge-capture-page .kb-note-text{font-family:var(--font-body);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);padding:var(--space-2)var(--space-3);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}knowledge-capture-page .kb-note-text:hover{border-color:var(--color-copper-dark)}knowledge-capture-page .kb-note-text:focus-visible{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-ink)}knowledge-capture-page .kb-note-text--static{white-space:pre-wrap;border:none;margin:0;padding:0}knowledge-capture-page .kb-note-footer{display:flex;justify-content:space-between;align-items: center;gap:var(--space-4);padding:var(--space-3)var(--space-4);background:var(--color-cream-dark);border-block-start:1px solid var(--color-border-default)}knowledge-capture-page .kb-note-include{display:inline-flex;align-items: center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}knowledge-capture-page .kb-note-include input[type=checkbox]{accent-color:var(--color-accent-primary);margin:0}knowledge-capture-page .kb-note-year{align-items: center;gap:var(--space-2)}knowledge-capture-page .kb-note-year input{width:6ch}knowledge-capture-page .kb-status{display:flex;align-items: center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}knowledge-capture-page .kb-status--pending{color:var(--color-text-muted)}knowledge-capture-page .kb-status--saving{color:var(--color-info)}knowledge-capture-page .kb-status--done{color:var(--color-success)}knowledge-capture-page .kb-status--error{color:var(--color-error);text-transform:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}knowledge-capture-page .kb-list-footer{display:flex;align-items: center;gap:var(--space-4);flex-wrap:wrap;margin-block-start:var(--space-5)}@media (max-width:767.999px){knowledge-capture-page .kb-list-footer{flex-direction:column;align-items:stretch}knowledge-capture-page .kb-list-footer .btn-primary{justify-content:center;width:100%}}knowledge-capture-page .kb-parse-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}knowledge-capture-page .kb-reparse{display:flex;align-items: center;gap:var(--space-2);margin-inline-start:auto}@media (max-width:767.999px){knowledge-capture-page .kb-reparse{margin-inline-start:0}}knowledge-capture-page .kb-done{display:flex;gap:var(--space-7);flex-direction:column}knowledge-capture-page .kb-done-section{display:flex;gap:var(--space-4);flex-direction:column}knowledge-capture-page .kb-done-actions{display:flex;align-items: center;gap:var(--space-4)}knowledge-base-view{display:block}knowledge-base-view .kb-base-controls{display:flex;align-items: center;gap:var(--space-4);margin-block-end:var(--space-6)}@media (max-width:767.999px){knowledge-base-view .kb-base-controls{flex-direction:column;align-items:stretch}}@media (max-width:767.999px){knowledge-base-view .kb-base-filters{flex-wrap:wrap}}knowledge-base-view .kb-base-search{height:var(--control-height-input);padding-inline:var(--space-3);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border-default);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex:1;min-width:0}knowledge-base-view .kb-base-search:hover{border-color:var(--color-copper-dark)}knowledge-base-view .kb-base-search:focus-visible{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-ink)}knowledge-entry-view{display:block}knowledge-entry-view .kb-entry-header{display:flex;flex-direction:column}knowledge-entry-view .kb-entry-parent{font-size:var(--font-size-sm);margin-block-end:var(--space-2)}knowledge-entry-view .kb-entry-eyebrow{--meta-label-color:var(--color-text-muted)}knowledge-entry-view .kb-prose{font-size:var(--font-size-base);color:var(--color-text-primary);line-height:var(--line-height-normal);text-wrap:pretty}knowledge-entry-view .kb-prose p{margin-block-end:var(--space-3)}knowledge-entry-view .kb-prose p:first-child{margin-block-start:0}knowledge-entry-view .kb-prose p:last-child{margin-block-end:0}knowledge-entry-view .kb-prose h2{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);line-height:var(--line-height-heading);margin-block:var(--space-5)var(--space-2)}knowledge-entry-view .kb-prose h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin-block:var(--space-4)var(--space-2)}knowledge-entry-view .kb-prose ul{padding-inline-start:var(--space-5)}knowledge-entry-view .kb-prose ol{padding-inline-start:var(--space-5)}knowledge-entry-view .kb-prose li{margin-block-end:var(--space-1)}knowledge-entry-view .kb-prose a{color:var(--color-copper);text-decoration:underline}knowledge-entry-view .kb-synthesis-actions{display:flex;align-items: flex-end;gap:var(--space-3);flex-direction:column;margin-block-start:var(--space-4)}knowledge-entry-view .kb-section{display:flex;gap:var(--space-4);flex-direction:column;margin-block-start:var(--space-7)}knowledge-entry-view .kb-vintage{display:flex;gap:var(--space-3);flex-direction:column}knowledge-entry-view .kb-vintage-year{font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-text-primary)}knowledge-entry-view .kb-vintage-notes{list-style:none;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);margin:0;padding:0}knowledge-entry-view .kb-wine-list{display:flex;flex-direction:column}knowledge-entry-view .kb-wine-row{display:flex;align-items: center;gap:var(--space-3);padding:var(--space-2)0;border-block-end:1px solid var(--color-border-default);color:var(--color-text-primary);text-decoration:none;transition:background-color var(--transition-fast)}knowledge-entry-view .kb-wine-row:last-child{border-block-end:none}knowledge-entry-view .kb-wine-row:hover{background:var(--color-cream-dark)}knowledge-entry-view .kb-wine-row:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}knowledge-entry-view .kb-notes-summary{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted);cursor:pointer}knowledge-entry-view .kb-notes-summary:hover{color:var(--color-copper-dark)}knowledge-entry-view .kb-notes-summary:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}knowledge-entry-view .kb-note-rows{display:flex;list-style:none;flex-direction:column;margin:0;padding:0}knowledge-entry-view .kb-note-row{display:flex;align-items: flex-start;gap:var(--space-3);padding:var(--space-3)0;border-block-start:1px solid var(--color-border-subtle)}knowledge-entry-view .kb-note-row:first-child{border-block-start:none}knowledge-entry-view .kb-note-row-body{display:flex;gap:var(--space-3);flex-direction:column;flex:1;min-width:0}knowledge-entry-view .kb-note-row-text{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);margin:0}knowledge-entry-view .kb-note-row-delete{color:var(--color-text-muted);transition:color var(--transition-fast);flex-shrink:0}knowledge-entry-view .kb-note-row-delete:hover{color:var(--color-error)}knowledge-entry-view .kb-delete-zone{display:flex;border-block-start:1px solid var(--color-border-subtle);justify-content:flex-end;margin-block-start:var(--space-8);padding-block-start:var(--space-5)}}
