:root{--color-purple-500: #4c5dc4;--color-purple-600: #764ba2;--color-purple-400: #667eea;--color-gray-50: #f9fafb;--color-gray-100: #f5f5f5;--color-gray-200: #eee;--color-gray-300: #ddd;--color-gray-400: #ccc;--color-gray-500: #999;--color-gray-600: #666;--color-gray-700: #555;--color-gray-800: #444;--color-gray-900: #333;--color-slate-600: #34495e;--color-slate-700: #2c3e50;--color-green-50: #e8f5e9;--color-green-success: #4caf50;--color-green-success-dark: #45a049;--color-green-success-match: #5cb85c;--color-orange-50: #fff3e0;--color-orange-warning: #ff9800;--color-orange-warning-light: #ffa726;--color-orange-warning-dark: #a95000;--color-red-50: #ffebee;--color-red-error-light: #ff6b6b;--color-red-error: #e74c3c;--color-red-error-dark: #c0392b;--color-red-error-border: #ebccd1;--color-red-error-bg: #f2dede;--color-blue-info: #3498db;--color-blue-info-light: #a3d5f1;--color-blue-info-match: #2196f3;--color-highlight: #fff3cd;--color-nutrition-bg: #fff9e6;--color-success-50: var(--color-green-50);--color-success-dark: #2e7d32;--color-warning-50: var(--color-orange-50);--color-warning-dark: var(--color-orange-warning-dark);--color-error-50: var(--color-red-50);--color-error-dark: #c62828;--color-primary: var(--color-purple-500);--color-primary-dark: var(--color-purple-600);--color-primary-light: var(--color-purple-400);--color-primary-hover: #3d4caa;--color-surface-primary: #fff;--color-bg-base: #fff;--color-bg-subtle: var(--color-gray-100);--color-bg-hover: var(--color-gray-50);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-muted: var(--color-gray-500);--color-text-placeholder: var(--color-gray-400);--color-text-disabled: var(--color-gray-400);--color-text-inverse: #fff;--color-border-base: var(--color-gray-300);--color-border-light: var(--color-gray-200);--color-border-focus: var(--color-primary);--color-overlay-dark: rgba(0, 0, 0, .7);--color-overlay-subtle: rgba(0, 0, 0, .1);--color-navbar-bg: var(--color-slate-700);--color-navbar-hover: var(--color-slate-600);--color-success: var(--color-green-success);--color-warning: var(--color-orange-warning);--color-error: var(--color-red-error);--color-info: var(--color-blue-info);--color-allergen-active: #ff5722;--color-allergen-active-border: #d84315;--gradient-primary: linear-gradient(135deg, var(--color-purple-500) 0%, var(--color-purple-600) 100%);--gradient-primary-hover: linear-gradient(135deg, #5568d3 0%, #6842a0 100%);--gradient-source-cucchiaio: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-source-giallozafferano: linear-gradient(135deg, #ffd89b 0%, #ff9a9e 100%);--gradient-source-misya: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-source-cookist: linear-gradient(135deg, #30cfd0 0%, #330867 100%);--gradient-source-ricettedellanonna: linear-gradient(135deg, #ff9a56 0%, #ff6a00 100%);--gradient-source-benedetta: linear-gradient(135deg, #ff6b95 0%, #b06ab3 100%);--gradient-source-themealdb: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);--gradient-stats-card: linear-gradient(135deg, var(--color-purple-400) 0%, #764ba2 100%);--gradient-stats-categorized: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);--gradient-footer: linear-gradient(to right, var(--color-purple-400), var(--color-purple-600));--gradient-slider-track: linear-gradient(to right, var(--color-primary), var(--color-primary));--gradient-slider-inactive: linear-gradient(to right, var(--color-gray-300), var(--color-gray-300));--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-base: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-primary: 0 4px 14px 0 rgba(102, 126, 234, .39);--shadow-primary-hover: 0 6px 20px rgba(102, 126, 234, .5);--shadow-badge: 0 2px 4px rgba(0, 0, 0, .1);--shadow-card-hover: 0 8px 16px rgba(0, 0, 0, .1);--z-badge: 10;--z-dropdown: 100;--z-modal: 1000;--transition-fast: .2s ease;--transition-base: .3s ease;--container-max-width: 1200px;--sidebar-width: 350px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.error-banner[data-v-93b95d16]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border-left:4px solid;min-width:320px;max-width:420px;transition:all var(--transition-base)}.error-banner--error[data-v-93b95d16]{border-left-color:var(--color-error);background:var(--color-red-error-bg)}.error-banner--warning[data-v-93b95d16]{border-left-color:var(--color-warning);background:var(--color-orange-50)}.error-banner--info[data-v-93b95d16]{border-left-color:var(--color-info);background:var(--color-highlight)}.error-banner--dismissing[data-v-93b95d16]{opacity:0;transform:translate(20px)}.error-banner__icon[data-v-93b95d16]{flex-shrink:0;font-size:var(--font-size-xl);line-height:1}.error-banner__content[data-v-93b95d16]{flex:1;display:flex;flex-direction:column;gap:var(--space-sm)}.error-banner__message[data-v-93b95d16]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-normal);word-wrap:break-word}.error-banner__actions[data-v-93b95d16]{display:flex;gap:var(--space-sm)}.error-banner__retry[data-v-93b95d16]{padding:var(--space-xs) var(--space-md);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-base);display:inline-flex;align-items:center;gap:var(--space-xs)}.error-banner__retry[data-v-93b95d16]:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.error-banner__retry[data-v-93b95d16]:active:not(:disabled){transform:translateY(0)}.error-banner__retry[data-v-93b95d16]:disabled{opacity:.6;cursor:not-allowed}.error-banner__retry[data-v-93b95d16]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.error-banner__retry-spinner[data-v-93b95d16]{display:flex;align-items:center;gap:var(--space-xs)}.spinner[data-v-93b95d16]{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-93b95d16 .6s linear infinite}@keyframes spin-93b95d16{to{transform:rotate(360deg)}}.error-banner__dismiss[data-v-93b95d16]{flex-shrink:0;background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-2xl);line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);border-radius:var(--radius-sm)}.error-banner__dismiss[data-v-93b95d16]:hover{background:var(--color-overlay-subtle);color:var(--color-text-primary)}.error-banner__dismiss[data-v-93b95d16]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media(max-width:768px){.error-banner[data-v-93b95d16]{min-width:unset;max-width:unset;width:100%}.error-banner__dismiss[data-v-93b95d16]{min-width:44px;min-height:44px}.error-banner__retry[data-v-93b95d16]{min-height:44px}}@media(prefers-reduced-motion:reduce){.error-banner[data-v-93b95d16]{transition-duration:.01ms}.spinner[data-v-93b95d16]{animation:none}}.error-banner-container[data-v-940fa035]{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:calc(var(--z-modal) + 10);display:flex;flex-direction:column;gap:var(--space-md);max-width:420px;pointer-events:none}.error-banner-container[data-v-940fa035]>*{pointer-events:auto}.error-slide-enter-active[data-v-940fa035],.error-slide-leave-active[data-v-940fa035]{transition:all .3s cubic-bezier(.4,0,.2,1)}.error-slide-enter-from[data-v-940fa035]{opacity:0;transform:translate(100%)}.error-slide-leave-to[data-v-940fa035]{opacity:0;transform:translate(100%) scale(.9)}@media(prefers-reduced-motion:reduce){.error-slide-enter-active[data-v-940fa035],.error-slide-leave-active[data-v-940fa035]{transition-duration:.01ms}}@media(max-width:768px){.error-banner-container[data-v-940fa035]{top:var(--space-base);right:var(--space-base);left:var(--space-base);max-width:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--color-bg-subtle);color:var(--color-text-primary)}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-base);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;font-weight:var(--font-weight-bold);z-index:calc(var(--z-modal) + 1);transition:top var(--transition-fast)}.skip-link:focus{top:0;outline:2px solid var(--color-text-inverse);outline-offset:2px}.navbar{background:var(--color-navbar-bg);color:var(--color-text-inverse);padding:var(--space-base) 0;box-shadow:var(--shadow-sm)}.navbar .container{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--space-base)}.logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.nav-links{display:flex;gap:var(--space-lg);align-items:center}.nav-links a{color:var(--color-text-inverse);text-decoration:none;padding:var(--space-sm) var(--space-base);border-radius:var(--radius-sm);transition:background var(--transition-base)}.nav-links a:hover,.nav-links a.router-link-active{background:var(--color-navbar-hover)}.container{max-width:var(--container-max-width);margin:var(--space-xl) auto;padding:0 var(--space-base)}footer{background:var(--color-navbar-bg);color:var(--color-text-inverse);padding:var(--space-xl);margin-top:var(--space-3xl)}.footer-content{max-width:var(--container-max-width);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.copyright{font-size:var(--font-size-sm);opacity:.9}.attribution-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:#ffffff0d;border-radius:var(--radius-md);width:100%;max-width:600px}.attribution-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.sources-list{display:flex;gap:var(--space-lg);flex-wrap:wrap;justify-content:center}.source-link{color:var(--color-blue-info-light);text-decoration:none;font-weight:var(--font-weight-semibold);padding:var(--space-sm) var(--space-base);background:#a3d5f11a;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.source-link:hover{background:#a3d5f133;transform:translateY(-2px);color:#b8e2f5}.attribution-note{font-size:var(--font-size-xs);opacity:.7;text-align:center;max-width:500px;line-height:var(--line-height-normal)}html,body,#app{overflow-x:hidden;max-width:100vw}@media(max-width:767px){.navbar .container{padding:0 var(--space-sm)}.logo{font-size:var(--font-size-xl)}.nav-links{gap:var(--space-sm)}.nav-links a{min-height:44px;display:flex;align-items:center;padding:var(--space-sm);font-size:var(--font-size-sm)}.container{margin:var(--space-lg) auto;padding:0 var(--space-sm)}footer{padding:var(--space-lg) var(--space-sm);margin-top:var(--space-2xl)}.footer-content{padding:0;gap:var(--space-md)}.attribution-section{padding:var(--space-base)}.sources-list{flex-direction:column;gap:var(--space-sm);width:100%}.source-link{min-height:44px;display:flex;align-items:center;justify-content:center;width:100%}.attribution-note{font-size:var(--font-size-xs)}}@media(max-width:374px){.logo{font-size:var(--font-size-lg)}.nav-links a{padding:var(--space-xs);font-size:var(--font-size-xs)}.container{padding:0 var(--space-xs)}}@media(max-width:640px){*{max-width:100%}img{max-width:100%;height:auto}}.attribution-banner[data-v-cb05b922]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--color-bg-hover) 0%,var(--color-bg-subtle) 100%);border-left:var(--space-xs) solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.attribution-content[data-v-cb05b922]{display:flex;align-items:center;gap:1rem}.attribution-icon[data-v-cb05b922]{font-size:2rem;line-height:1}.attribution-text[data-v-cb05b922]{display:flex;flex-direction:column;gap:.25rem}.attribution-label[data-v-cb05b922]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.attribution-source[data-v-cb05b922]{margin:0;font-size:1.125rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.attribution-button[data-v-cb05b922]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--gradient-primary);color:var(--color-text-inverse);text-decoration:none;border-radius:var(--radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;transition:all var(--transition-fast);box-shadow:var(--shadow-primary)}.attribution-button[data-v-cb05b922]:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-hover)}.attribution-button[data-v-cb05b922]:active{transform:translateY(0)}@media(max-width:640px){.attribution-banner[data-v-cb05b922]{flex-direction:column;align-items:flex-start}.attribution-button[data-v-cb05b922]{width:100%;justify-content:center}}.source-badge[data-v-47a83bf6]{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-base);background:var(--gradient-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse);box-shadow:var(--shadow-badge);transition:transform .2s ease}.source-badge[data-v-47a83bf6]:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.badge-icon[data-v-47a83bf6]{font-size:.875rem}.badge-text[data-v-47a83bf6]{line-height:1}.source-badge[data-source=cucchiaio]{background:var(--gradient-source-cucchiaio)!important}.source-badge[data-source=giallozafferano]{background:var(--gradient-source-giallozafferano)!important}.source-badge[data-source=misya]{background:var(--gradient-source-misya)!important}.source-badge[data-source=cookist]{background:var(--gradient-source-cookist)!important}.source-badge[data-source=ricettedellanonna]{background:var(--gradient-source-ricettedellanonna)!important}.source-badge[data-source=benedetta]{background:var(--gradient-source-benedetta)!important}.source-badge[data-source=themealdb]{background:var(--gradient-source-themealdb)!important;color:var(--color-text-primary)!important}.skeleton-loader[data-v-21ad4163]{background:var(--color-border-light, #e5e7eb);overflow:hidden;position:relative;display:block}.skeleton-loader[data-v-21ad4163]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer-21ad4163 1.5s infinite;will-change:transform}@keyframes shimmer-21ad4163{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-loader--rectangle[data-v-21ad4163]{border-radius:var(--radius-sm, 4px)}.skeleton-loader--circle[data-v-21ad4163]{border-radius:50%}@media(prefers-reduced-motion:reduce){.skeleton-loader[data-v-21ad4163]:after{animation:none;opacity:.6}}.recipe-card-skeleton[data-v-28f446df]{background:var(--color-background, white);border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);overflow:hidden;cursor:default;transition:all var(--transition-base, .3s ease)}.recipe-card-skeleton__image[data-v-28f446df]{width:100%;display:block}.recipe-card-skeleton__content[data-v-28f446df]{padding:var(--space-md, 16px);display:flex;flex-direction:column;gap:var(--space-sm, 12px)}.recipe-card-skeleton__title[data-v-28f446df]{margin-bottom:var(--space-xs, 8px)}.recipe-card-skeleton__badge[data-v-28f446df],.recipe-card-skeleton__source[data-v-28f446df]{align-self:flex-start}.recipe-card-skeleton__nutrition[data-v-28f446df]{margin-top:var(--space-xs, 8px)}.recipe-card-skeleton__meta[data-v-28f446df]{display:flex;gap:var(--space-xs, 8px);margin-top:var(--space-xs, 8px);flex-wrap:wrap}.recipe-card-skeleton[data-v-28f446df]:hover{box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}@media(max-width:768px){.recipe-card-skeleton__content[data-v-28f446df]{padding:var(--space-sm, 12px);gap:var(--space-xs, 8px)}}.trending-section[data-v-8b3dc9c7]{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 2px 8px #0000001a}.trending-header[data-v-8b3dc9c7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.trending-header h2[data-v-8b3dc9c7]{font-size:24px;font-weight:700;color:#2c3e50;margin:0;display:flex;align-items:center;gap:8px}.flame-icon[data-v-8b3dc9c7]{font-size:28px;animation:flicker-8b3dc9c7 2s infinite}@keyframes flicker-8b3dc9c7{0%,to{opacity:1}50%{opacity:.8}}.refresh-button[data-v-8b3dc9c7]{background:none;border:2px solid #4caf50;color:#4caf50;font-size:20px;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.refresh-button[data-v-8b3dc9c7]:hover:not(:disabled){background:#4caf50;color:#fff;transform:rotate(180deg)}.refresh-button[data-v-8b3dc9c7]:disabled{opacity:.5;cursor:not-allowed}.spinning[data-v-8b3dc9c7]{display:inline-block;animation:spin-8b3dc9c7 1s linear infinite}@keyframes spin-8b3dc9c7{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-8b3dc9c7]{color:#d32f2f;background:#ffebee;padding:12px;border-radius:8px;margin-bottom:16px}.loading[data-v-8b3dc9c7]{text-align:center;color:#666;padding:32px}.trending-content[data-v-8b3dc9c7]{display:grid;gap:24px}.trending-searches h3[data-v-8b3dc9c7],.popular-recipes h3[data-v-8b3dc9c7],.zero-results h3[data-v-8b3dc9c7]{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:12px}.search-chips[data-v-8b3dc9c7]{display:flex;flex-wrap:wrap;gap:8px}.search-chip[data-v-8b3dc9c7]{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s;box-shadow:0 2px 4px #667eea4d}.search-chip[data-v-8b3dc9c7]:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.search-chip[data-v-8b3dc9c7]:active{transform:translateY(0)}.search-count[data-v-8b3dc9c7]{background:#ffffff4d;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.recipe-list[data-v-8b3dc9c7]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.recipe-card[data-v-8b3dc9c7]{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px;cursor:pointer;transition:all .3s}.recipe-card[data-v-8b3dc9c7]:hover{background:#fff;border-color:#4caf50;box-shadow:0 2px 8px #4caf5033;transform:translateY(-2px)}.recipe-title[data-v-8b3dc9c7]{font-weight:500;color:#2c3e50;margin-bottom:8px;font-size:14px;line-height:1.4}.recipe-stats[data-v-8b3dc9c7]{display:flex;justify-content:space-between;align-items:center}.click-count[data-v-8b3dc9c7]{font-size:12px;color:#666;background:#e8f5e9;padding:2px 8px;border-radius:4px}.zero-results[data-v-8b3dc9c7]{background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;padding:16px}.help-text[data-v-8b3dc9c7]{font-size:14px;color:#666;margin-bottom:12px}.query-list[data-v-8b3dc9c7]{display:flex;flex-wrap:wrap;gap:8px}.query-chip[data-v-8b3dc9c7]{background:#fff;border:1px solid #ffb74d;border-radius:16px;padding:6px 12px;font-size:13px;color:#e65100;font-weight:500}@media(max-width:768px){.trending-section[data-v-8b3dc9c7]{padding:16px}.trending-header h2[data-v-8b3dc9c7]{font-size:20px}.recipe-list[data-v-8b3dc9c7]{grid-template-columns:1fr}.search-chip[data-v-8b3dc9c7]{font-size:13px;padding:6px 12px}}.skip-nav[data-v-3600c9c4]{position:relative}.skip-link[data-v-3600c9c4]{position:absolute;top:-200px;left:-9999px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-base);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;font-weight:var(--font-weight-semibold);z-index:calc(var(--z-modal) + 1);transition:top var(--transition-fast),left var(--transition-fast)}.skip-link[data-v-3600c9c4]:focus{top:0;left:0;outline:2px solid var(--color-text-inverse);outline-offset:2px}.skip-link--always-visible[data-v-3600c9c4]{top:0;left:0;opacity:.9}.skip-link--always-visible[data-v-3600c9c4]:hover{opacity:1;box-shadow:var(--shadow-sm)}.skip-link--always-visible[data-v-3600c9c4]:focus{opacity:1}.skip-link:focus+.skip-link[data-v-3600c9c4],.skip-link--always-visible+.skip-link[data-v-3600c9c4]{left:220px}.skip-link[data-v-3600c9c4]:focus:nth-child(3),.skip-link--always-visible[data-v-3600c9c4]:nth-child(3){left:440px}.home[data-v-3600c9c4]{text-align:center}.hero[data-v-3600c9c4]{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--space-3xl) var(--space-xl);border-radius:var(--radius-lg);margin-bottom:var(--space-2xl)}.hero h1[data-v-3600c9c4]{font-size:var(--font-size-4xl);margin-bottom:var(--space-base)}.hero-text[data-v-3600c9c4]{font-size:var(--font-size-xl);margin-bottom:var(--space-xl);opacity:.9}.search-section[data-v-3600c9c4]{margin:var(--space-xl) 0;width:100%;max-width:800px;margin-left:auto;margin-right:auto}.search-container[data-v-3600c9c4]{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.search-input[data-v-3600c9c4]{flex:1;padding:var(--space-base) var(--space-lg);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);font-size:var(--font-size-base);background:#fffffff2;color:var(--color-text-primary);transition:border-color var(--transition-base)}.search-input[data-v-3600c9c4]:focus{outline:2px solid transparent;border-color:var(--color-text-inverse);background:var(--color-bg-base)}.search-input[data-v-3600c9c4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.search-input[data-v-3600c9c4]::placeholder{color:var(--color-text-muted)}.category-select[data-v-3600c9c4]{min-width:190px;padding:var(--space-base);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);background:#fffffff2;font-size:var(--font-size-base);color:var(--color-text-primary)}.search-button[data-v-3600c9c4]{padding:var(--space-base) var(--space-xl);background:var(--color-bg-base);color:var(--color-primary);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.search-button[data-v-3600c9c4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.toggle-filters-btn[data-v-3600c9c4]{width:100%;padding:var(--space-md) var(--space-base);background:#fffffff2;color:var(--color-primary);border:2px solid rgba(102,126,234,.3);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-base);display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.toggle-filters-btn[data-v-3600c9c4]:hover{background:#667eea1a;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 2px 8px #667eea33}.active-filters-indicator[data-v-3600c9c4]{color:var(--color-warning);font-size:var(--font-size-xs);animation:pulse-3600c9c4 2s infinite}@keyframes pulse-3600c9c4{0%,to{opacity:1}50%{opacity:.5}}.slide-fade-enter-active[data-v-3600c9c4]{transition:all .3s ease-out}.slide-fade-leave-active[data-v-3600c9c4]{transition:all .3s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from[data-v-3600c9c4],.slide-fade-leave-to[data-v-3600c9c4]{transform:translateY(-20px);opacity:0}.advanced-filters[data-v-3600c9c4]{background:#fffffff2;padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.filter-section[data-v-3600c9c4]{margin-bottom:var(--space-lg)}.filter-section[data-v-3600c9c4]:last-of-type{margin-bottom:var(--space-base)}.filter-section h4[data-v-3600c9c4]{color:var(--color-primary);margin-bottom:var(--space-md);font-size:var(--font-size-base)}.time-filters[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-base)}.time-filter[data-v-3600c9c4]{display:flex;flex-direction:column;gap:var(--space-sm)}.time-filter label[data-v-3600c9c4]{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.time-value[data-v-3600c9c4]{font-weight:var(--font-weight-bold);color:var(--color-primary)}.time-slider[data-v-3600c9c4]{width:100%;height:6px;border-radius:var(--radius-sm);background:var(--gradient-slider-track);-webkit-appearance:none}.time-slider[data-v-3600c9c4]:focus{outline:2px solid transparent}.time-slider[data-v-3600c9c4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.time-slider[data-v-3600c9c4]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;transition:all var(--transition-base)}.time-slider[data-v-3600c9c4]::-webkit-slider-thumb:hover{background:var(--color-primary-dark);transform:scale(1.2)}.time-slider[data-v-3600c9c4]::-moz-range-thumb{width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:none;transition:all var(--transition-base)}.time-slider[data-v-3600c9c4]::-moz-range-thumb:hover{background:var(--color-primary-dark);transform:scale(1.2)}.reset-time-btn[data-v-3600c9c4]{grid-column:1 / -1;padding:var(--space-sm) var(--space-base);background:#ff9800e6;color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.reset-time-btn[data-v-3600c9c4]:hover{background:var(--color-warning);transform:translateY(-2px);box-shadow:0 2px 8px #ff98004d}.difficulty-chips[data-v-3600c9c4]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.difficulty-chip[data-v-3600c9c4]{padding:var(--space-sm) var(--space-base);background:var(--color-bg-subtle);border:2px solid transparent;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.difficulty-chip.facile[data-v-3600c9c4]{color:var(--color-success-dark)}.difficulty-chip.facile[data-v-3600c9c4]:hover,.difficulty-chip.facile.active[data-v-3600c9c4]{background:var(--color-success-50);border-color:var(--color-success-dark)}.difficulty-chip.media[data-v-3600c9c4]{color:var(--color-warning-dark)}.difficulty-chip.media[data-v-3600c9c4]:hover,.difficulty-chip.media.active[data-v-3600c9c4]{background:var(--color-warning-50);border-color:var(--color-warning-dark)}.difficulty-chip.difficile[data-v-3600c9c4]{color:var(--color-error-dark)}.difficulty-chip.difficile[data-v-3600c9c4]:hover,.difficulty-chip.difficile.active[data-v-3600c9c4]{background:var(--color-error-50);border-color:var(--color-error-dark)}.difficulty-chip.active[data-v-3600c9c4]{font-weight:var(--font-weight-bold)}.allergen-chips[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.allergen-chip[data-v-3600c9c4]{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);background:var(--color-bg-base);border:2px solid var(--color-border-base);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm)}.allergen-chip[data-v-3600c9c4]:hover{background:var(--color-warning-50);border-color:var(--color-warning);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.allergen-chip.active[data-v-3600c9c4]{background:var(--color-allergen-active);border-color:var(--color-allergen-active-border);color:var(--color-text-inverse)}.allergen-icon[data-v-3600c9c4]{font-size:var(--font-size-xl)}.allergen-label[data-v-3600c9c4]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.filter-note[data-v-3600c9c4]{margin-top:var(--space-md);margin-bottom:0;padding:var(--space-sm);background:var(--color-success-50);border-left:3px solid var(--color-success);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-success-dark)}.nutrition-filters[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-base);margin-bottom:var(--space-base)}.nutrition-filter[data-v-3600c9c4]{display:flex;flex-direction:column;gap:var(--space-sm)}.nutrition-filter label[data-v-3600c9c4]{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.nutrition-value[data-v-3600c9c4]{font-weight:var(--font-weight-bold);color:var(--color-primary);font-size:var(--font-size-sm)}.range-inputs[data-v-3600c9c4]{display:flex;align-items:center;gap:var(--space-sm)}.range-separator[data-v-3600c9c4]{color:var(--color-text-muted);font-weight:var(--font-weight-bold)}.nutrition-input[data-v-3600c9c4]{flex:1;padding:var(--space-sm);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:border-color var(--transition-base)}.nutrition-input[data-v-3600c9c4]:focus{outline:2px solid transparent;border-color:var(--color-border-focus)}.nutrition-input[data-v-3600c9c4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.nutrition-input-solo[data-v-3600c9c4]{width:100%;padding:var(--space-sm);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);transition:border-color var(--transition-base)}.nutrition-input-solo[data-v-3600c9c4]:focus{outline:2px solid transparent;border-color:var(--color-border-focus)}.nutrition-input-solo[data-v-3600c9c4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.quick-nutrition-presets[data-v-3600c9c4]{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;padding-top:var(--space-sm)}.nutrition-preset-btn[data-v-3600c9c4]{padding:var(--space-sm) var(--space-base);background:#667eea1a;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.nutrition-preset-btn[data-v-3600c9c4]:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-2px);box-shadow:0 2px 8px #667eea4d}.nutrition-preset-btn.reset[data-v-3600c9c4]{background:#ff98001a;color:var(--color-warning);border-color:var(--color-warning)}.nutrition-preset-btn.reset[data-v-3600c9c4]:hover{background:var(--color-warning);color:var(--color-text-inverse)}.sort-options[data-v-3600c9c4]{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.sort-btn[data-v-3600c9c4]{padding:var(--space-sm) var(--space-base);background:var(--color-bg-subtle);color:var(--color-text-secondary);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.sort-btn[data-v-3600c9c4]:hover{background:var(--color-border-light)}.sort-btn.active[data-v-3600c9c4]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);font-weight:var(--font-weight-bold)}.quick-presets[data-v-3600c9c4]{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;padding-top:var(--space-sm)}.preset-btn[data-v-3600c9c4]{padding:var(--space-sm) var(--space-base);border:2px solid transparent;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.preset-btn.quick[data-v-3600c9c4]{background:#4caf50e6;color:var(--color-text-inverse)}.preset-btn.quick[data-v-3600c9c4]:hover{background:var(--color-success);transform:translateY(-2px);box-shadow:0 2px 8px #4caf504d}.preset-btn.easy-dinner[data-v-3600c9c4]{background:#2196f3e6;color:var(--color-text-inverse)}.preset-btn.easy-dinner[data-v-3600c9c4]:hover{background:var(--color-blue-info-match);transform:translateY(-2px);box-shadow:0 2px 8px #2196f34d}.preset-btn.beginner[data-v-3600c9c4]{background:#ff9800e6;color:var(--color-text-inverse)}.preset-btn.beginner[data-v-3600c9c4]:hover{background:var(--color-warning);transform:translateY(-2px);box-shadow:0 2px 8px #ff98004d}.preset-btn.clear[data-v-3600c9c4]{background:#f44336e6;color:var(--color-text-inverse)}.preset-btn.clear[data-v-3600c9c4]:hover{background:var(--color-error);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.search-results[data-v-3600c9c4]{background:#fffffff2;padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);text-align:left}.search-results h3[data-v-3600c9c4]{color:var(--color-primary);margin-bottom:var(--space-base);text-align:center}.results-grid[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-base)}.result-card[data-v-3600c9c4]{background:var(--color-bg-base);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);box-shadow:var(--shadow-sm);position:relative}.result-card[data-v-3600c9c4]:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.result-card .badge-corner[data-v-3600c9c4]{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:var(--z-badge);box-shadow:0 2px 8px #0000004d}.result-image[data-v-3600c9c4]{width:100%;height:120px;object-fit:cover}.result-info[data-v-3600c9c4]{padding:var(--space-md)}.result-info h4[data-v-3600c9c4]{margin:0 0 var(--space-xs) 0;font-size:var(--font-size-base);color:var(--color-text-primary)}.result-snippet[data-v-3600c9c4]{margin:var(--space-xs) 0;color:var(--color-gray-800);font-size:var(--font-size-base)}.result-snippet mark[data-v-3600c9c4]{background:var(--color-highlight);padding:.1rem .2rem;border-radius:var(--radius-sm)}.result-nutrition[data-v-3600c9c4]{margin:var(--space-xs) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.result-category[data-v-3600c9c4]{margin:0;font-size:var(--font-size-xs);color:var(--color-primary)}.no-results[data-v-3600c9c4]{background:#ffffffe6;padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.no-results p[data-v-3600c9c4]{color:var(--color-text-secondary);margin:0}.did-you-mean[data-v-3600c9c4]{margin-top:var(--space-base);padding:var(--space-base);background:#fff3cd;border-left:4px solid #ffc107;border-radius:var(--radius-sm)}.did-you-mean p[data-v-3600c9c4]{color:var(--color-text-primary);font-size:1rem}.spelling-suggestions[data-v-3600c9c4]{margin-top:var(--space-base);padding:var(--space-base);background:#f8f9fa;border-radius:var(--radius-sm)}.spelling-suggestions p[data-v-3600c9c4]{color:var(--color-text-primary);font-weight:600;margin-bottom:var(--space-sm)}.spelling-suggestions ul[data-v-3600c9c4]{list-style:none;padding:0;margin:0}.spelling-suggestions li[data-v-3600c9c4]{margin-bottom:var(--space-xs)}.suggestion-link[data-v-3600c9c4]{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:1rem;padding:0;font-weight:600;transition:color .2s}.suggestion-link[data-v-3600c9c4]:hover,.suggestion-link[data-v-3600c9c4]:focus{color:var(--color-primary-dark, #d32f2f);text-decoration:none;outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.cta-button[data-v-3600c9c4]{display:inline-block;background:var(--color-bg-base);color:var(--color-primary);padding:var(--space-base) var(--space-xl);border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);transition:transform var(--transition-base)}.cta-button[data-v-3600c9c4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.features[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}.feature-card[data-v-3600c9c4]{background:var(--color-bg-base);padding:var(--space-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.icon[data-v-3600c9c4]{font-size:var(--font-size-4xl);margin-bottom:var(--space-base)}.feature-card h3[data-v-3600c9c4]{margin-bottom:var(--space-sm)}.stats-preview[data-v-3600c9c4]{background:var(--color-bg-base);padding:var(--space-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.stats-preview h2[data-v-3600c9c4]{margin-bottom:var(--space-lg)}.stat-cards[data-v-3600c9c4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl)}.stat-card[data-v-3600c9c4]{padding:var(--space-lg);background:var(--gradient-primary);color:var(--color-text-inverse);border-radius:var(--radius-md)}.stat-number[data-v-3600c9c4]{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.stat-label[data-v-3600c9c4]{font-size:var(--font-size-lg);opacity:.9}.modal-overlay[data-v-3600c9c4]{position:fixed;inset:0;background:var(--color-overlay-dark);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-xl)}.modal-content[data-v-3600c9c4]{background:var(--color-bg-base);border-radius:var(--radius-md);max-width:800px;max-height:90vh;overflow-y:auto;padding:var(--space-xl);position:relative}.close-btn[data-v-3600c9c4]{position:absolute;top:var(--space-base);right:var(--space-base);background:none;border:none;font-size:var(--font-size-3xl);cursor:pointer;color:var(--color-text-secondary);z-index:var(--z-badge)}.close-btn[data-v-3600c9c4]:hover{color:var(--color-text-primary)}.modal-image[data-v-3600c9c4]{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-md);margin:var(--space-base) 0}.recipe-meta-modal[data-v-3600c9c4]{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-base);background:var(--color-bg-subtle);border-radius:var(--radius-md)}.recipe-meta-modal .meta-item[data-v-3600c9c4]{font-size:var(--font-size-base);padding:var(--space-sm) var(--space-md);background:var(--color-bg-base);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.recipe-details h3[data-v-3600c9c4]{margin-top:var(--space-lg);margin-bottom:var(--space-md);color:var(--color-text-primary)}.ingredients-list[data-v-3600c9c4]{list-style:none;padding:0}.ingredients-list li[data-v-3600c9c4]{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-light)}.nutrition-panel[data-v-3600c9c4]{margin-top:var(--space-base);background:var(--color-nutrition-bg);padding:var(--space-md);border-radius:var(--radius-md)}.nutrition-panel h4[data-v-3600c9c4]{margin:0 0 var(--space-sm) 0}.nutrition-disclaimer[data-v-3600c9c4]{font-size:var(--font-size-sm);color:var(--color-primary);cursor:help;opacity:.8}.nutrition-disclaimer[data-v-3600c9c4]:hover{opacity:1}.nutrition-panel ul[data-v-3600c9c4]{list-style:none;padding:0;margin:0;color:var(--color-gray-800);font-size:var(--font-size-base)}.nutrition-panel li+li[data-v-3600c9c4]{margin-top:var(--space-xs)}@media(max-width:767px){.hero[data-v-3600c9c4]{padding:var(--space-xl) var(--space-lg)}.hero h1[data-v-3600c9c4]{font-size:var(--font-size-3xl)}.hero p[data-v-3600c9c4]{font-size:var(--font-size-base)}.search-container[data-v-3600c9c4]{flex-direction:column;gap:var(--space-base)}.search-input[data-v-3600c9c4]{font-size:16px;min-height:44px;padding:var(--space-sm) var(--space-base);width:100%}.category-select[data-v-3600c9c4]{font-size:16px;min-height:44px;min-width:auto;width:100%}.search-button[data-v-3600c9c4]{min-height:48px;padding:var(--space-md) var(--space-lg);font-size:var(--font-size-base);width:100%}.toggle-filters-btn[data-v-3600c9c4]{min-height:48px;padding:var(--space-md) var(--space-base)}.modal-overlay[data-v-3600c9c4]{padding:var(--space-base);align-items:flex-start;padding-top:var(--space-xl)}.modal-content[data-v-3600c9c4]{max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);padding:var(--space-base);width:100%}.close-btn[data-v-3600c9c4]{min-width:48px;min-height:48px;font-size:var(--font-size-4xl);display:flex;align-items:center;justify-content:center;top:var(--space-sm);right:var(--space-sm)}.modal-image[data-v-3600c9c4]{max-height:200px;margin:var(--space-sm) 0}.recipe-meta-modal[data-v-3600c9c4]{gap:var(--space-sm)}.recipe-meta-modal .meta-item[data-v-3600c9c4]{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.advanced-filters[data-v-3600c9c4]{padding:var(--space-base);max-height:70vh;overflow-y:auto}.time-filters[data-v-3600c9c4]{grid-template-columns:1fr}.sort-options[data-v-3600c9c4],.quick-presets[data-v-3600c9c4],.difficulty-chips[data-v-3600c9c4]{justify-content:center}.difficulty-chip[data-v-3600c9c4]{min-height:44px;min-width:60px;padding:var(--space-sm) var(--space-base);font-size:var(--font-size-sm)}.allergen-chips[data-v-3600c9c4]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm)}.allergen-chip[data-v-3600c9c4]{min-height:44px;padding:var(--space-sm);font-size:var(--font-size-xs)}.preset-btn[data-v-3600c9c4]{min-height:44px;padding:var(--space-sm) var(--space-base);font-size:var(--font-size-sm)}.results-grid[data-v-3600c9c4]{grid-template-columns:1fr;gap:var(--space-base)}.result-image[data-v-3600c9c4]{height:200px}.result-info[data-v-3600c9c4]{padding:var(--space-base)}.filter-section h4[data-v-3600c9c4]{text-align:center}.range-inputs[data-v-3600c9c4]{flex-direction:column;gap:var(--space-sm)}.range-inputs input[data-v-3600c9c4]{font-size:16px;min-height:44px}}@media(max-width:374px){.hero[data-v-3600c9c4]{padding:var(--space-lg) var(--space-base)}.hero h1[data-v-3600c9c4]{font-size:var(--font-size-2xl)}.modal-content[data-v-3600c9c4]{padding:var(--space-sm)}.allergen-chips[data-v-3600c9c4]{grid-template-columns:1fr}.results-grid[data-v-3600c9c4]{gap:var(--space-sm)}}@media(min-width:768px)and (max-width:1023px){.results-grid[data-v-3600c9c4]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.accessibility-toggle-btn[data-v-3600c9c4]{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:calc(var(--z-modal) - 1);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-base);background:var(--color-bg-base);border:2px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-lg)}.accessibility-toggle-btn[data-v-3600c9c4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.accessibility-toggle-btn[data-v-3600c9c4]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.accessibility-toggle-btn--active[data-v-3600c9c4]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.accessibility-toggle-btn--active[data-v-3600c9c4]:hover{background:#667eeae6}.accessibility-icon[data-v-3600c9c4]{font-size:var(--font-size-xl);line-height:1}.accessibility-label[data-v-3600c9c4]{white-space:nowrap}@media(max-width:640px){.accessibility-toggle-btn[data-v-3600c9c4]{padding:var(--space-sm);bottom:var(--space-base);right:var(--space-base)}.accessibility-label[data-v-3600c9c4]{display:none}.accessibility-icon[data-v-3600c9c4]{font-size:var(--font-size-2xl)}}.loading-spinner-container[data-v-17d992be]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md)}.loading-spinner-container--inline[data-v-17d992be]{display:inline-flex;flex-direction:row;padding:0;gap:var(--space-xs)}.loading-spinner[data-v-17d992be]{border-radius:50%;border-style:solid;animation:spinner-spin-17d992be .7s linear infinite;will-change:transform}@keyframes spinner-spin-17d992be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner--sm[data-v-17d992be]{width:16px;height:16px;border-width:2px}.loading-spinner--md[data-v-17d992be]{width:32px;height:32px;border-width:3px}.loading-spinner--lg[data-v-17d992be]{width:48px;height:48px;border-width:4px}.loading-spinner--primary[data-v-17d992be]{border-color:var(--color-border-light);border-top-color:var(--color-primary)}.loading-spinner--secondary[data-v-17d992be]{border-color:var(--color-border-light);border-top-color:var(--color-text-secondary)}.loading-spinner--white[data-v-17d992be]{border-color:#ffffff4d;border-top-color:var(--color-text-inverse)}.loading-spinner__text[data-v-17d992be]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;margin:0}.loading-spinner-container .loading-spinner--sm+.loading-spinner__text[data-v-17d992be]{font-size:var(--font-size-xs)}.loading-spinner-container .loading-spinner--lg+.loading-spinner__text[data-v-17d992be]{font-size:var(--font-size-base)}.sr-only[data-v-17d992be]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){.loading-spinner[data-v-17d992be]{animation-duration:1.5s}}@media(max-width:768px){.loading-spinner-container[data-v-17d992be]{padding:var(--space-sm)}.loading-spinner__text[data-v-17d992be]{font-size:var(--font-size-xs)}}.skip-link[data-v-d7a04ed5]{position:absolute;top:-100px;left:0;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-base);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;font-weight:var(--font-weight-semibold);z-index:calc(var(--z-modal) + 1);transition:top var(--transition-fast)}.skip-link[data-v-d7a04ed5]:focus{top:0;outline:2px solid var(--color-text-inverse);outline-offset:2px}.skip-link+.skip-link[data-v-d7a04ed5]{left:200px}.skip-link[data-v-d7a04ed5]:nth-child(3){left:400px}.recipe-match h1[data-v-d7a04ed5]{margin-bottom:2rem;text-align:center;color:var(--color-text-primary)}.match-container[data-v-d7a04ed5]{display:grid;grid-template-columns:var(--sidebar-width) 1fr;gap:2rem;align-items:start}.selector-panel[data-v-d7a04ed5]{background:var(--color-surface-primary);padding:1.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);position:sticky;top:2rem}.selector-panel h2[data-v-d7a04ed5]{margin-bottom:1rem;color:var(--color-text-primary)}.selector-panel h3[data-v-d7a04ed5]{font-size:1rem;margin:1rem 0 .5rem;color:var(--color-text-primary)}.search-input[data-v-d7a04ed5]{width:100%;padding:.75rem;border:2px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-surface-primary);color:var(--color-text-primary);transition:var(--transition-base)}.search-input[data-v-d7a04ed5]:focus{outline:2px solid transparent;border-color:var(--color-primary)}.search-input[data-v-d7a04ed5]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.category-selector[data-v-d7a04ed5]{margin:1rem 0}.category-selector label[data-v-d7a04ed5]{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-primary)}.category-dropdown[data-v-d7a04ed5]{width:100%;padding:.75rem;border:2px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:1rem;background:var(--color-surface-primary);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-base)}.category-dropdown[data-v-d7a04ed5]:hover{border-color:var(--color-primary)}.category-dropdown[data-v-d7a04ed5]:focus{outline:2px solid transparent;border-color:var(--color-primary)}.category-dropdown[data-v-d7a04ed5]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.popular-ingredients[data-v-d7a04ed5]{max-height:400px;overflow-y:auto;padding-right:.5rem}.chips[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.5rem}.chip[data-v-d7a04ed5]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-subtle);border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:.9rem;color:var(--color-text-primary);transition:var(--transition-base)}.chip[data-v-d7a04ed5]:hover{background:var(--color-primary);color:var(--color-text-inverse)}.chip:hover .chip-badge[data-v-d7a04ed5]{background:var(--color-overlay-light);color:var(--color-text-inverse)}.chip.selected[data-v-d7a04ed5]{background:var(--color-primary);color:var(--color-text-inverse)}.chip.selected .chip-badge[data-v-d7a04ed5]{background:var(--color-overlay-light);color:var(--color-text-inverse)}.chip-text[data-v-d7a04ed5]{flex:1}.chip-badge[data-v-d7a04ed5]{font-size:.75rem;padding:.15rem .5rem;background:var(--color-border-light);color:var(--color-text-tertiary);border-radius:var(--radius-sm);white-space:nowrap}.results-list[data-v-d7a04ed5]{max-height:200px;overflow-y:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:var(--color-surface-primary)}.result-item[data-v-d7a04ed5]{width:100%;padding:.75rem;background:var(--color-surface-primary);color:var(--color-text-primary);border:none;border-bottom:1px solid var(--color-border-light);text-align:left;cursor:pointer;transition:var(--transition-base)}.result-item[data-v-d7a04ed5]:hover{background:var(--color-bg-hover)}.selected-chips[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.5rem}.selected-chip[data-v-d7a04ed5]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-pill)}.remove-btn[data-v-d7a04ed5]{background:none;border:none;color:var(--color-text-inverse);font-size:1.5rem;cursor:pointer;padding:0;line-height:1;transition:var(--transition-base)}.remove-btn[data-v-d7a04ed5]:hover{opacity:.8}.slider[data-v-d7a04ed5]{width:100%;margin-top:.5rem}.time-filters[data-v-d7a04ed5],.difficulty-filters[data-v-d7a04ed5],.allergen-filters[data-v-d7a04ed5],.nutrition-filters[data-v-d7a04ed5]{margin:1.5rem 0;padding:1rem;background:var(--color-bg-subtle);border-radius:var(--radius-md)}.time-filters h3[data-v-d7a04ed5],.difficulty-filters h3[data-v-d7a04ed5],.allergen-filters h3[data-v-d7a04ed5],.nutrition-filters h3[data-v-d7a04ed5]{font-size:1rem;margin:0 0 .75rem;color:var(--color-text-primary)}.filter-group[data-v-d7a04ed5]{margin-bottom:1rem}.filter-group label[data-v-d7a04ed5]{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-primary)}.reset-filters-btn[data-v-d7a04ed5]{width:100%;padding:.5rem;margin-top:.5rem;background:var(--color-gray-200);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:var(--transition-base)}.reset-filters-btn[data-v-d7a04ed5]:hover{background:var(--color-gray-300)}.difficulty-chips[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.5rem}.difficulty-chip[data-v-d7a04ed5]{padding:.5rem 1rem;background:var(--color-bg-subtle);border:2px solid transparent;border-radius:var(--radius-pill);cursor:pointer;font-size:.9rem;font-weight:500;transition:var(--transition-base)}.difficulty-chip.facile[data-v-d7a04ed5]{color:var(--color-success-dark)}.difficulty-chip.media[data-v-d7a04ed5]{color:var(--color-warning-dark)}.difficulty-chip.difficile[data-v-d7a04ed5]{color:var(--color-error-dark)}.difficulty-chip.selected[data-v-d7a04ed5]{border-color:currentColor;background:var(--color-surface-primary);font-weight:700}.difficulty-chip[data-v-d7a04ed5]:hover{background:var(--color-surface-primary);transform:scale(1.05)}.filter-checkboxes[data-v-d7a04ed5]{display:flex;flex-direction:column;gap:.75rem}.allergen-chips[data-v-d7a04ed5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.allergen-chip[data-v-d7a04ed5]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .5rem;background:var(--color-surface-primary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base);font-size:.85rem;color:var(--color-text-primary)}.allergen-chip[data-v-d7a04ed5]:hover{background:var(--color-warning-50);border-color:var(--color-warning);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.allergen-chip.selected[data-v-d7a04ed5]{background:var(--color-error);border-color:var(--color-error-dark);color:var(--color-text-inverse)}.allergen-icon[data-v-d7a04ed5]{font-size:1.5rem}.allergen-label[data-v-d7a04ed5]{font-size:.8rem;font-weight:500}.reset-allergens-btn[data-v-d7a04ed5]{width:100%;padding:.5rem;margin-top:.5rem;background:var(--color-error-50);color:var(--color-error-dark);border:1px solid var(--color-error);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:var(--transition-base)}.reset-allergens-btn[data-v-d7a04ed5]:hover{background:var(--color-error-100);border-color:var(--color-error)}.filter-info[data-v-d7a04ed5]{margin-top:.75rem;margin-bottom:0;padding:.5rem;background:var(--color-success-50);border-left:3px solid var(--color-success);border-radius:var(--radius-sm)}.filter-info small[data-v-d7a04ed5]{color:var(--color-success-dark);font-size:.85rem}.range-inputs-nutrition[data-v-d7a04ed5]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.range-sep[data-v-d7a04ed5]{color:var(--color-text-tertiary);font-weight:700}.nutrition-input-small[data-v-d7a04ed5]{flex:1;padding:.5rem;border:2px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-primary);background:var(--color-surface-primary);transition:var(--transition-base)}.nutrition-input-small[data-v-d7a04ed5]:focus{outline:2px solid transparent;border-color:var(--color-primary)}.nutrition-input-small[data-v-d7a04ed5]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.nutrition-input-full[data-v-d7a04ed5]{width:100%;padding:.5rem;border:2px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-primary);background:var(--color-surface-primary);transition:var(--transition-base);margin-top:.5rem}.nutrition-input-full[data-v-d7a04ed5]:focus{outline:2px solid transparent;border-color:var(--color-primary)}.nutrition-input-full[data-v-d7a04ed5]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.nutrition-presets[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.preset-btn[data-v-d7a04ed5]{flex:1;min-width:100px;padding:.5rem .75rem;background:var(--color-primary-50);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-pill);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition-base)}.preset-btn[data-v-d7a04ed5]:hover{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-2px)}.reset-nutrition-btn[data-v-d7a04ed5]{width:100%;padding:.5rem;margin-top:.5rem;background:var(--color-error-50);color:var(--color-error-dark);border:1px solid var(--color-error);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:var(--transition-base)}.reset-nutrition-btn[data-v-d7a04ed5]:hover{background:var(--color-error-100);border-color:var(--color-error)}.find-btn[data-v-d7a04ed5]{width:100%;padding:1rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700;cursor:pointer;transition:var(--transition-base);margin-top:1rem}.find-btn[data-v-d7a04ed5]:hover:not(:disabled){background:var(--color-primary-hover)}.find-btn[data-v-d7a04ed5]:disabled{background:var(--color-gray-300);cursor:not-allowed;opacity:.6}.results-panel[data-v-d7a04ed5]{min-height:400px}.results-grid[data-v-d7a04ed5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.recipe-card[data-v-d7a04ed5]{background:var(--color-surface-primary);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition-base);position:relative}.recipe-card[data-v-d7a04ed5]:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.recipe-image[data-v-d7a04ed5]{width:100%;height:180px;object-fit:cover}.recipe-info[data-v-d7a04ed5]{padding:1rem}.badge-corner[data-v-d7a04ed5]{position:absolute;top:.5rem;right:.5rem;z-index:var(--z-badge);box-shadow:var(--shadow-md)}.recipe-header[data-v-d7a04ed5]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.recipe-info h3[data-v-d7a04ed5]{margin:0;font-size:1.1rem;color:var(--color-text-primary)}.match-badge[data-v-d7a04ed5]{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;margin-bottom:.5rem}.match-badge.excellent[data-v-d7a04ed5]{background:var(--color-success-match);color:var(--color-text-inverse)}.match-badge.good[data-v-d7a04ed5]{background:var(--color-info);color:var(--color-text-inverse)}.match-badge.fair[data-v-d7a04ed5]{background:var(--color-warning-light);color:var(--color-text-inverse)}.match-badge.low[data-v-d7a04ed5]{background:var(--color-gray-500);color:var(--color-text-inverse)}.ingredients-count[data-v-d7a04ed5]{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.5rem}.recipe-nutrition[data-v-d7a04ed5]{margin:.2rem 0;color:var(--color-text-secondary);font-size:.85rem}.recipe-meta[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;font-size:.85rem}.meta-item[data-v-d7a04ed5]{color:var(--color-text-secondary);background:var(--color-bg-subtle);padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.meta-item.difficulty-badge[data-v-d7a04ed5]{font-weight:600}.meta-item.difficulty-badge.facile[data-v-d7a04ed5]{background:var(--color-success-50);color:var(--color-success-dark)}.meta-item.difficulty-badge.media[data-v-d7a04ed5]{background:var(--color-warning-50);color:var(--color-warning-dark)}.meta-item.difficulty-badge.difficile[data-v-d7a04ed5]{background:var(--color-error-50);color:var(--color-error-dark)}.missing[data-v-d7a04ed5]{font-size:.85rem;color:var(--color-error)}.empty-state[data-v-d7a04ed5]{text-align:center;padding:3rem;color:var(--color-text-secondary)}.empty-state p[data-v-d7a04ed5]{margin-bottom:.5rem}.modal-overlay[data-v-d7a04ed5]{position:fixed;inset:0;background:var(--color-overlay-dark);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:2rem}.modal-content[data-v-d7a04ed5]{background:var(--color-surface-primary);border-radius:var(--radius-md);max-width:800px;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}.close-btn[data-v-d7a04ed5]{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);transition:var(--transition-base)}.close-btn[data-v-d7a04ed5]:hover{color:var(--color-text-primary)}.modal-image[data-v-d7a04ed5]{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-md);margin:1rem 0}.recipe-meta-modal[data-v-d7a04ed5]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-subtle);border-radius:var(--radius-md)}.recipe-meta-modal .meta-item[data-v-d7a04ed5]{font-size:.95rem;padding:.5rem .75rem;background:var(--color-surface-primary)}.recipe-details h3[data-v-d7a04ed5]{margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-text-primary)}.ingredients-list[data-v-d7a04ed5]{list-style:none;padding:0}.ingredients-list li[data-v-d7a04ed5]{padding:.5rem 0;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.nutrition-panel[data-v-d7a04ed5]{margin-top:1rem;background:var(--color-primary-50);padding:.75rem;border-radius:var(--radius-md)}.nutrition-panel h4[data-v-d7a04ed5]{margin:0 0 .5rem;color:var(--color-text-primary)}.nutrition-disclaimer[data-v-d7a04ed5]{font-size:.85rem;color:var(--color-primary);cursor:help;opacity:.8;transition:var(--transition-base)}.nutrition-disclaimer[data-v-d7a04ed5]:hover{opacity:1}.nutrition-panel ul[data-v-d7a04ed5]{list-style:none;padding:0;margin:0;color:var(--color-text-primary);font-size:.95rem}.nutrition-panel li+li[data-v-d7a04ed5]{margin-top:.25rem}@media(max-width:767px){.match-container[data-v-d7a04ed5]{grid-template-columns:1fr;gap:var(--space-lg);max-width:100vw;overflow-x:hidden}.selector-panel[data-v-d7a04ed5]{position:static;width:100%;max-width:100%;padding:var(--space-base)}.chip[data-v-d7a04ed5],.difficulty-chip[data-v-d7a04ed5],.allergen-chip[data-v-d7a04ed5]{min-height:44px;min-width:44px;padding:var(--space-sm) var(--space-base);font-size:var(--font-size-base)}.remove-btn[data-v-d7a04ed5]{min-width:44px;min-height:44px;font-size:var(--font-size-2xl);padding:var(--space-sm);display:flex;align-items:center;justify-content:center}.find-btn[data-v-d7a04ed5]{min-height:48px;font-size:var(--font-size-lg);padding:var(--space-md) var(--space-lg)}.chips[data-v-d7a04ed5],.selected-chips[data-v-d7a04ed5]{gap:var(--space-sm)}.allergen-chips[data-v-d7a04ed5]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.range-inputs-nutrition[data-v-d7a04ed5]{flex-direction:column;align-items:stretch}.range-sep[data-v-d7a04ed5]{display:none}.time-filters[data-v-d7a04ed5],.difficulty-filters[data-v-d7a04ed5],.allergen-filters[data-v-d7a04ed5],.nutrition-filters[data-v-d7a04ed5]{margin:var(--space-base) 0;padding:var(--space-sm)}.results-panel[data-v-d7a04ed5]{min-height:300px}.search-input[data-v-d7a04ed5],.category-dropdown[data-v-d7a04ed5],.nutrition-input-small[data-v-d7a04ed5],.nutrition-input-full[data-v-d7a04ed5]{font-size:16px;min-height:44px}.reset-filters-btn[data-v-d7a04ed5],.reset-allergens-btn[data-v-d7a04ed5],.reset-nutrition-btn[data-v-d7a04ed5],.preset-btn[data-v-d7a04ed5]{min-height:44px;padding:var(--space-sm) var(--space-base)}}@media(max-width:374px){.selector-panel[data-v-d7a04ed5]{padding:var(--space-sm)}.allergen-chips[data-v-d7a04ed5]{grid-template-columns:1fr}.selector-panel h2[data-v-d7a04ed5]{font-size:var(--font-size-lg)}.selector-panel h3[data-v-d7a04ed5]{font-size:var(--font-size-base)}}@media(min-width:768px)and (max-width:1023px){.match-container[data-v-d7a04ed5]{grid-template-columns:280px 1fr;gap:var(--space-lg)}.selector-panel[data-v-d7a04ed5]{max-width:280px}}.skip-nav[data-v-d7a04ed5]{position:relative}.skip-link[data-v-d7a04ed5]{position:absolute;top:-200px;left:-9999px;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-base);text-decoration:none;border-radius:0 0 var(--radius-sm) 0;font-weight:var(--font-weight-semibold);z-index:calc(var(--z-modal) + 1);transition:top var(--transition-fast),left var(--transition-fast)}.skip-link[data-v-d7a04ed5]:focus{top:0;left:0;outline:2px solid var(--color-text-inverse);outline-offset:2px}.skip-link--always-visible[data-v-d7a04ed5]{top:0;left:0;opacity:.9}.skip-link--always-visible[data-v-d7a04ed5]:hover{opacity:1;box-shadow:var(--shadow-sm)}.skip-link--always-visible[data-v-d7a04ed5]:focus{opacity:1}.skip-link:focus+.skip-link[data-v-d7a04ed5],.skip-link--always-visible+.skip-link[data-v-d7a04ed5]{left:250px}.skip-link[data-v-d7a04ed5]:focus:nth-child(3),.skip-link--always-visible[data-v-d7a04ed5]:nth-child(3){left:500px}.accessibility-toggle-btn[data-v-d7a04ed5]{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:calc(var(--z-modal) - 1);display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-base);background:var(--color-bg-base);border:2px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-lg)}.accessibility-toggle-btn[data-v-d7a04ed5]:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary)}.accessibility-toggle-btn[data-v-d7a04ed5]:focus{outline:2px solid var(--color-primary);outline-offset:2px}.accessibility-toggle-btn--active[data-v-d7a04ed5]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.accessibility-toggle-btn--active[data-v-d7a04ed5]:hover{background:#667eeae6}.accessibility-icon[data-v-d7a04ed5]{font-size:var(--font-size-xl);line-height:1}.accessibility-label[data-v-d7a04ed5]{white-space:nowrap}@media(max-width:640px){.accessibility-toggle-btn[data-v-d7a04ed5]{padding:var(--space-sm);bottom:var(--space-base);right:var(--space-base)}.accessibility-label[data-v-d7a04ed5]{display:none}.accessibility-icon[data-v-d7a04ed5]{font-size:var(--font-size-2xl)}}.stats-page h1[data-v-618b9663]{margin-bottom:var(--spacing-xl)}.overview[data-v-618b9663]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.stat-box[data-v-618b9663]{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--spacing-xl);border-radius:var(--radius-md);text-align:center}.stat-box h2[data-v-618b9663]{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-bold)}.stat-box p[data-v-618b9663]{font-size:var(--font-size-lg);opacity:.9}.stat-box small[data-v-618b9663]{display:block;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);opacity:.8}.stat-box.categorized[data-v-618b9663]{background:var(--gradient-stats-categorized)}.stat-box.nutrition[data-v-618b9663]{background:linear-gradient(135deg,#667eea,#764ba2)}.empty-state[data-v-618b9663]{text-align:center;padding:var(--spacing-3xl);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.empty-state p[data-v-618b9663]{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state-subtitle[data-v-618b9663]{font-size:var(--font-size-base);color:var(--color-text-secondary)}.charts[data-v-618b9663]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--spacing-xl)}.chart-card[data-v-618b9663]{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.chart-card h3[data-v-618b9663]{margin-bottom:var(--spacing-lg);text-align:center;color:var(--color-text-primary)}.bar-chart[data-v-618b9663]{display:flex;flex-direction:column;gap:var(--spacing-base)}.bar-item[data-v-618b9663]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.bar-label[data-v-618b9663]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.bar-container[data-v-618b9663]{display:flex;align-items:center;gap:var(--spacing-sm)}.bar-fill[data-v-618b9663]{height:30px;background:var(--gradient-primary-90deg);border-radius:var(--radius-sm);transition:width var(--transition-base)}.bar-count[data-v-618b9663]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pie-chart[data-v-618b9663]{display:flex;flex-direction:column;gap:var(--spacing-base)}.pie-item[data-v-618b9663]{display:flex;justify-content:space-between;padding:var(--spacing-base);background:var(--color-bg-subtle);border-radius:var(--radius-sm)}.pie-label[data-v-618b9663]{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pie-value[data-v-618b9663]{color:var(--color-primary);font-weight:var(--font-weight-bold)}.ingredient-categories[data-v-618b9663]{margin-top:var(--spacing-2xl)}.ingredient-categories h2[data-v-618b9663]{margin-bottom:var(--spacing-xl);text-align:center;font-size:var(--font-size-2xl);color:var(--color-text-primary)}.category-grid[data-v-618b9663]{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.category-card[data-v-618b9663]{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.category-card[data-v-618b9663]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.category-header[data-v-618b9663]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-base)}.category-header h4[data-v-618b9663]{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.category-count[data-v-618b9663]{background:var(--gradient-primary);color:var(--color-text-inverse);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.category-bar[data-v-618b9663]{height:8px;background:var(--color-bg-subtle);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm)}.category-fill[data-v-618b9663]{height:100%;background:var(--gradient-primary-90deg);transition:width var(--transition-base)}.category-percent[data-v-618b9663]{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.analytics-container[data-v-8bc11958]{max-width:1400px;margin:0 auto;padding:2rem 1rem}.analytics-title[data-v-8bc11958]{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem;text-align:center}.analytics-subtitle[data-v-8bc11958]{font-size:1.1rem;color:#7f8c8d;text-align:center;margin-bottom:2rem}.loading-container[data-v-8bc11958],.error-container[data-v-8bc11958]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.loading-spinner[data-v-8bc11958]{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #ff6b6b;border-radius:50%;animation:spin-8bc11958 1s linear infinite;margin-bottom:1rem}@keyframes spin-8bc11958{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-8bc11958]{color:#e74c3c;font-size:1.1rem;margin-bottom:1rem}.retry-button[data-v-8bc11958]{padding:.75rem 1.5rem;background-color:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s}.retry-button[data-v-8bc11958]:hover{background-color:#ee5a52}.kpi-grid[data-v-8bc11958]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.kpi-card[data-v-8bc11958]{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;text-align:center;transition:transform .2s,box-shadow .2s}.kpi-card[data-v-8bc11958]:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.kpi-card-excellent[data-v-8bc11958]{border-left:4px solid #27ae60}.kpi-card-good[data-v-8bc11958]{border-left:4px solid #3498db}.kpi-card-fair[data-v-8bc11958]{border-left:4px solid #f39c12}.kpi-card-poor[data-v-8bc11958]{border-left:4px solid #e74c3c}.kpi-icon[data-v-8bc11958]{font-size:2.5rem;margin-bottom:.5rem}.kpi-value[data-v-8bc11958]{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:.25rem}.kpi-label[data-v-8bc11958]{font-size:.9rem;color:#7f8c8d;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.kpi-description[data-v-8bc11958]{font-size:.75rem;color:#95a5a6;margin-top:.25rem}.analytics-section[data-v-8bc11958]{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.section-title[data-v-8bc11958]{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem}.section-description[data-v-8bc11958]{font-size:.95rem;color:#7f8c8d;margin-bottom:1.5rem}.table-container[data-v-8bc11958]{overflow-x:auto}.analytics-table[data-v-8bc11958]{width:100%;border-collapse:collapse}.analytics-table thead[data-v-8bc11958]{background-color:#f8f9fa}.analytics-table th[data-v-8bc11958]{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e9ecef}.analytics-table td[data-v-8bc11958]{padding:1rem;border-bottom:1px solid #e9ecef;color:#495057}.analytics-table tbody tr[data-v-8bc11958]:hover{background-color:#f8f9fa}.query-text[data-v-8bc11958]{font-weight:500;color:#2c3e50}.recipe-title[data-v-8bc11958]{font-weight:500;color:#ff6b6b}.empty-state[data-v-8bc11958]{text-align:center;padding:3rem 2rem;color:#7f8c8d;font-size:1.1rem}.empty-state.success[data-v-8bc11958]{color:#27ae60}@media(max-width:768px){.analytics-title[data-v-8bc11958]{font-size:2rem}.analytics-subtitle[data-v-8bc11958]{font-size:1rem}.kpi-grid[data-v-8bc11958]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.kpi-card[data-v-8bc11958]{padding:1rem}.kpi-icon[data-v-8bc11958]{font-size:2rem}.kpi-value[data-v-8bc11958]{font-size:1.5rem}.analytics-section[data-v-8bc11958]{padding:1.5rem}.analytics-table th[data-v-8bc11958],.analytics-table td[data-v-8bc11958]{padding:.75rem .5rem;font-size:.9rem}}
