.modal-overlay.svelte-1q5lvzv{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:600px){.modal-overlay.svelte-1q5lvzv{align-items:center;padding:1.5rem}}.modal.svelte-1q5lvzv{background:#fff;padding:clamp(1.5rem,5vw,2.5rem);border-radius:28px 28px 0 0;max-width:520px;width:100%;max-height:92svh;overflow-y:auto;position:relative}@media(min-width:600px){.modal.svelte-1q5lvzv{border-radius:28px}}.modal-header.svelte-1q5lvzv{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.modal-title.svelte-1q5lvzv{font-size:clamp(1.2rem,4vw,1.6rem);font-weight:900;margin:0;line-height:1.2;flex:1}.close-x.svelte-1q5lvzv{width:32px;height:32px;border:none;background:var(--gray, #f5f5f7);border-radius:50%;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;transition:background .18s;flex-shrink:0}.close-x.svelte-1q5lvzv:hover{background:var(--border, #e8e8ea)}.modal-body.svelte-1q5lvzv{margin-bottom:.5rem}.loading-state.svelte-1q5lvzv{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem}.loading-spinner.svelte-1q5lvzv{width:40px;height:40px;border:3px solid var(--gray, #f5f5f7);border-top-color:var(--primary, #d4ff3f);border-radius:50%;animation:svelte-1q5lvzv-spin 1s linear infinite}@keyframes svelte-1q5lvzv-spin{to{transform:rotate(360deg)}}.loading-text.svelte-1q5lvzv{color:#888;font-size:.95rem;margin:0}.error-state.svelte-1q5lvzv{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:1rem;text-align:center}.error-text.svelte-1q5lvzv{color:#be123c;font-size:.95rem;margin:0}.retry-btn.svelte-1q5lvzv{padding:.75rem 1.5rem;background:var(--dark, #121212);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .18s;font-family:inherit}.retry-btn.svelte-1q5lvzv:hover{opacity:.85}.recommendations-list.svelte-1q5lvzv{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.wine-card.svelte-1q5lvzv{padding:1.25rem;border:1.5px solid var(--border, #e8e8ea);border-radius:16px;background:#fff;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s,box-shadow .2s}.wine-card.svelte-1q5lvzv:hover{transform:translateY(-2px);box-shadow:0 8px 28px #00000012}.wine-card-header.svelte-1q5lvzv{display:flex;justify-content:space-between;align-items:center}.wine-rank.svelte-1q5lvzv{width:28px;height:28px;background:var(--primary, #d4ff3f);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;color:var(--dark, #121212)}.wine-type-badge.svelte-1q5lvzv{padding:.35rem .7rem;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.type-blanc.svelte-1q5lvzv{background:#fffbeb;color:#a16207}.wine-name.svelte-1q5lvzv{font-size:1.1rem;font-weight:800;margin:0;line-height:1.25;color:var(--dark, #121212)}.wine-price.svelte-1q5lvzv{font-size:1rem;font-weight:700;color:#888;margin:0}.wine-reason.svelte-1q5lvzv{font-size:.9rem;color:#666;line-height:1.55;margin:0}.select-wine-btn.svelte-1q5lvzv{padding:.85rem 1rem;background:var(--dark, #121212);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .18s;font-family:inherit;margin-top:.5rem}.select-wine-btn.svelte-1q5lvzv:hover{opacity:.85}.btn-primary.svelte-1q5lvzv{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:1rem 2rem;background:var(--dark, #121212);color:#fff;text-decoration:none;border-radius:16px;font-weight:800;font-size:.95rem;transition:opacity .18s;border:none;cursor:pointer;font-family:inherit;width:100%}.btn-primary.svelte-1q5lvzv:hover{opacity:.85}.more-suggestions.svelte-1q5lvzv{text-align:center}.empty-state.svelte-1q5lvzv{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.empty-state.svelte-1q5lvzv p:where(.svelte-1q5lvzv){color:#888;font-size:.95rem;margin:0}*,*:before,*:after{box-sizing:border-box}html{background:#fff}body{margin:0;padding:0;background:#fff;font-family:Inter,-apple-system,sans-serif;color:#1a1a1a;-webkit-font-smoothing:antialiased}.app.svelte-1uha8ag{--primary: #d4ff3f;--dark: #121212;--gray: #f5f5f7;--border: #e8e8ea;min-height:100svh;display:flex;flex-direction:column}.hero.svelte-1uha8ag{position:relative;overflow:hidden;background:#fff;padding:clamp(4rem,12vw,9rem) clamp(1.5rem,6vw,4rem) clamp(3rem,8vw,6rem)}.hero-particles.svelte-1uha8ag{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.hero-circle.svelte-1uha8ag{position:absolute;border-radius:50%;z-index:0;transition:transform .3s ease-out}.hero-circle--1.svelte-1uha8ag{width:clamp(260px,58vw,680px);height:clamp(260px,58vw,680px);background:var(--primary);top:calc(-1*clamp(140px,30vw,360px));left:calc(-1*clamp(90px,18vw,220px))}.hero-circle--2.svelte-1uha8ag{width:clamp(160px,32vw,380px);height:clamp(160px,32vw,380px);border:3px solid rgba(255,255,255,.9);background:#d4ff3f4d;top:calc(-1*clamp(60px,12vw,140px));left:calc(-1*clamp(10px,2vw,30px));opacity:1}.hero-circle--3.svelte-1uha8ag{width:clamp(120px,25vw,280px);height:clamp(120px,25vw,280px);border:2px solid var(--primary);background:transparent;top:calc(-1*clamp(40px,8vw,100px));right:calc(-1*clamp(60px,12vw,160px));opacity:.6}.hero-circle--4.svelte-1uha8ag{width:clamp(80px,18vw,200px);height:clamp(80px,18vw,200px);background:#d4ff3f80;border:2px solid rgba(255,255,255,.7);top:clamp(20px,5vw,60px);right:calc(-1*clamp(20px,4vw,80px));opacity:1}.hero-inner.svelte-1uha8ag{position:relative;z-index:1;max-width:640px;margin:0 auto;text-align:center}.zest-badge.svelte-1uha8ag{display:inline-block;padding:.45rem 1rem;background:var(--dark);color:var(--primary);border-radius:100px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.5rem}.hero-title.svelte-1uha8ag{font-size:clamp(4.5rem,22vw,11rem);font-weight:900;letter-spacing:-.05em;margin:0;line-height:.85;color:var(--dark)}.hero-tagline.svelte-1uha8ag{font-size:clamp(1rem,3vw,1.25rem);color:#888;margin-top:.5rem;font-weight:400}.hero-cta.svelte-1uha8ag{display:inline-flex;align-items:center;gap:.8rem;margin-top:2rem;padding:.9rem 1.8rem;background:var(--dark);color:#fff;border-radius:14px;text-decoration:none;font-weight:800;font-size:clamp(.88rem,2.5vw,1rem);transition:opacity .18s}.hero-cta.svelte-1uha8ag:hover{opacity:.82}.hero-cta-icon.svelte-1uha8ag{color:var(--primary)}.main-nav.svelte-1uha8ag{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);z-index:100;gap:.75rem}.main-nav-tabs.svelte-1uha8ag{display:flex;gap:.4rem}.nav-btn.svelte-1uha8ag{padding:.55rem 1rem;border:none;background:none;border-radius:12px;font-size:.9rem;font-weight:700;color:#888;cursor:pointer;transition:all .18s;font-family:inherit;white-space:nowrap}.nav-btn.active.svelte-1uha8ag{background:var(--gray);color:var(--dark)}.nav-btn.svelte-1uha8ag:not(.active):hover{color:var(--dark)}.ia-nav-btn.svelte-1uha8ag{display:flex;align-items:center;gap:.35rem;padding:.55rem .85rem;background:var(--dark);color:#fff;border-radius:12px;text-decoration:none;font-size:.85rem;font-weight:700;transition:opacity .18s;white-space:nowrap;flex-shrink:0}.ia-nav-btn.svelte-1uha8ag:hover{opacity:.85}.ia-nav-icon.svelte-1uha8ag{color:var(--primary);font-size:.8rem}.ia-nav-label.svelte-1uha8ag{display:inline}.pdf-nav-btn.svelte-1uha8ag{display:flex;align-items:center;gap:.35rem;padding:.55rem .85rem;background:#f5f5f7;color:#1a1a1a;border-radius:12px;text-decoration:none;font-size:.85rem;font-weight:700;transition:all .18s;white-space:nowrap;flex-shrink:0;border:1px solid #e8e8ea}.pdf-nav-btn.svelte-1uha8ag:hover{background:#e8e8ea}.pdf-nav-icon.svelte-1uha8ag{font-size:.9rem}.pdf-nav-label.svelte-1uha8ag{display:inline}.content.svelte-1uha8ag{flex:1;padding:clamp(2rem,6vw,4rem) clamp(1.2rem,4vw,2rem);position:relative;z-index:1}.menu-wrap.svelte-1uha8ag,.wine-wrap.svelte-1uha8ag{max-width:1000px;margin:0 auto}.section-title.svelte-1uha8ag{font-size:clamp(1.8rem,6vw,3rem);font-weight:900;letter-spacing:-.03em;margin:0 0 1.5rem}.menu-section.svelte-1uha8ag{margin-bottom:clamp(2.5rem,6vw,4rem)}.dish-grid.svelte-1uha8ag{display:grid;grid-template-columns:1fr;gap:.9rem}@media(min-width:640px){.dish-grid.svelte-1uha8ag{grid-template-columns:repeat(2,1fr)}}.dish.svelte-1uha8ag{padding:1.4rem 1.5rem;background:var(--gray);border-radius:20px;transition:transform .2s,box-shadow .2s;cursor:default}.dish.svelte-1uha8ag:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000012}.dish-top.svelte-1uha8ag{display:flex;justify-content:flex-start;align-items:center;gap:.75rem;margin-bottom:.5rem}.dish-thumb.svelte-1uha8ag{width:64px;height:64px;border-radius:12px;object-fit:cover;flex-shrink:0}.dish-thumb--placeholder.svelte-1uha8ag{background:linear-gradient(135deg,#e8e8ea,#d4d4d8)}.dish-name.svelte-1uha8ag{flex:1;font-size:clamp(1rem,3vw,1.2rem);font-weight:800;line-height:1.25}.dish-price.svelte-1uha8ag{font-size:.9rem;font-weight:700;padding:.3rem .7rem;background:#fff;border-radius:10px;flex-shrink:0}.dish-desc.svelte-1uha8ag{margin:0 0 .75rem;font-size:.9rem;color:#666;line-height:1.55}.dish-pairing-btn.svelte-1uha8ag{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:transparent;color:var(--dark);border:1.5px solid var(--border);border-radius:10px;font-weight:700;font-size:.75rem;text-align:center;transition:all .18s;cursor:pointer;font-family:inherit}.dish-pairing-btn.svelte-1uha8ag:hover{background:var(--dark);color:#fff;border-color:var(--dark)}.btn-icon.svelte-1uha8ag{color:#121212;font-size:.7rem}.dish-pairing-btn.svelte-1uha8ag:hover .btn-icon:where(.svelte-1uha8ag){color:var(--primary)}.menu-cta.svelte-1uha8ag{text-align:center;padding:clamp(2rem,6vw,4rem) clamp(1.5rem,4vw,3rem);background:var(--gray);border-radius:28px;margin-top:clamp(2rem,5vw,3.5rem)}.cta-label.svelte-1uha8ag{margin:0 0 1.5rem;font-size:clamp(1rem,3vw,1.25rem);color:#555;font-weight:500}.btn-primary.svelte-1uha8ag{display:inline-flex;align-items:center;gap:.4rem;padding:1rem 2rem;background:var(--dark);color:#fff;text-decoration:none;border-radius:16px;font-weight:800;font-size:clamp(.9rem,2.5vw,1.05rem);transition:opacity .18s}.btn-primary.svelte-1uha8ag:hover{opacity:.85}.wine-grid.svelte-1uha8ag{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:540px){.wine-grid.svelte-1uha8ag{grid-template-columns:repeat(2,1fr)}}@media(min-width:860px){.wine-grid.svelte-1uha8ag{grid-template-columns:repeat(3,1fr)}}.wine-card.svelte-1uha8ag{padding:1.4rem 1.5rem;background:var(--gray);border:none;text-align:left;font-family:inherit;border-radius:20px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;cursor:pointer}.wine-card.svelte-1uha8ag:hover{transform:translateY(-2px);box-shadow:0 6px 24px #00000012}.wine-card-header.svelte-1uha8ag{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.wine-type-badge.svelte-1uha8ag{padding:.3rem .6rem;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.type-blanc.svelte-1uha8ag{background:#fffbeb;color:#a16207}.type-rouge.svelte-1uha8ag{background:#ffe4e6;color:#be123c}.wine-name.svelte-1uha8ag{font-size:clamp(1rem,3vw,1.15rem);font-weight:800;margin:0 0 .35rem;line-height:1.25;color:var(--dark)}.wine-info.svelte-1uha8ag{color:#888;font-size:.85rem;margin:0 0 .75rem}.wine-footer.svelte-1uha8ag{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border)}.wine-price.svelte-1uha8ag{font-size:1rem;font-weight:800;padding:.25rem .6rem;background:#fff;border-radius:8px}.btn-ia-small.svelte-1uha8ag{font-size:.75rem;font-weight:700;color:#888;transition:color .18s}.wine-card.svelte-1uha8ag:hover .btn-ia-small:where(.svelte-1uha8ag){color:var(--dark)}.modal-overlay.svelte-1uha8ag{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:600px){.modal-overlay.svelte-1uha8ag{align-items:center;padding:1.5rem}}.modal.svelte-1uha8ag{background:#fff;padding:clamp(1.5rem,5vw,2.5rem);border-radius:28px 28px 0 0;max-width:520px;width:100%;max-height:92svh;overflow-y:auto;position:relative}@media(min-width:600px){.modal.svelte-1uha8ag{border-radius:28px}}.modal-header.svelte-1uha8ag{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-badge.svelte-1uha8ag{display:inline-block;padding:.35rem .7rem;border-radius:8px;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.close-x.svelte-1uha8ag{width:32px;height:32px;border:none;background:var(--gray);border-radius:50%;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555;transition:background .18s}.close-x.svelte-1uha8ag:hover{background:var(--border)}.modal-title.svelte-1uha8ag{font-size:clamp(1.4rem,5vw,2rem);font-weight:900;margin:0 0 .4rem;line-height:1.15}.modal-subtitle.svelte-1uha8ag{color:#888;margin:0 0 1.8rem;font-size:.9rem;font-weight:500}.sommelier-notes.svelte-1uha8ag{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2rem}.note-item.svelte-1uha8ag strong:where(.svelte-1uha8ag){display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#aaa;margin-bottom:.3rem}.note-item.svelte-1uha8ag p:where(.svelte-1uha8ag){margin:0;font-size:.95rem;line-height:1.55;font-weight:500}.detail-actions.svelte-1uha8ag{display:grid;grid-template-columns:1fr 1.5fr;gap:.75rem}.action-btn.svelte-1uha8ag{padding:1rem;border:none;border-radius:16px;font-weight:800;cursor:pointer;font-family:inherit;font-size:.9rem;text-decoration:none;text-align:center;transition:opacity .18s;display:block}.action-btn.svelte-1uha8ag:hover{opacity:.8}.action-btn.primary.svelte-1uha8ag{background:var(--dark);color:#fff}.action-btn.secondary.svelte-1uha8ag{background:var(--gray);color:var(--dark)}.modal-body.svelte-1uha8ag{margin-bottom:1.5rem}.modal-pairing.svelte-1uha8ag{font-size:1rem;line-height:1.7;color:#444;margin:0}.site-footer.svelte-1uha8ag{padding:2rem 1.5rem;text-align:center;color:#bbb;font-size:.8rem}
