:root{--bg-primary: #0a0614;--bg-secondary: #120c1c;--bg-card: rgba(30, 20, 50, .7);--bg-glass: rgba(40, 28, 65, .55);--bg-glass-hover: rgba(55, 38, 85, .65);--text-primary: #f0edf5;--text-secondary: #a89ec8;--text-muted: #6c5f8a;--gold: #d4af37;--gold-light: #f5d782;--gold-glow: rgba(212, 175, 55, .3);--accent: #a882ff;--accent-light: #c4a8ff;--accent-glow: rgba(168, 130, 255, .25);--green: #2ecc71;--green-bg: rgba(46, 204, 113, .12);--yellow: #f1c40f;--yellow-bg: rgba(241, 196, 15, .12);--red: #e74c3c;--red-bg: rgba(231, 76, 60, .12);--border: rgba(168, 130, 255, .15);--shadow: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px rgba(168, 130, 255, .08);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 30px;--font-sans: "Inter", "Noto Sans JP", system-ui, sans-serif;--font-display: "Playfair Display", serif;--transition: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1);--gold-gradient: linear-gradient(135deg, #f5d782 0%, #d4af37 50%, #b8860b 100%);--gold-text-gradient: linear-gradient(135deg, #f5d782, #d4af37);--instagram-gradient: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-md)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0614d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.nav-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.2rem}.brand-icon{font-size:1.5rem}.nav-links{display:flex;gap:24px;align-items:center}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:var(--transition);padding:6px 0;border-bottom:2px solid transparent}.nav-link:hover,.nav-link.active{color:var(--gold-light);border-bottom-color:var(--gold)}.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition)}.nav-auth-group{display:flex;align-items:center;gap:10px}.nav-mobile-status{display:none;align-items:center;gap:6px}.nav-status-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(168,130,255,.28);background:#a882ff1f;color:var(--text-secondary);font-size:.72rem;font-weight:700;line-height:1;padding:6px 10px}.nav-status-chip-button{appearance:none;-webkit-appearance:none;font-family:inherit;cursor:pointer}.nav-status-chip.nav-status-pro,.nav-pro-pill{border-color:#d4af3766;background:#d4af3724;color:var(--gold-light)}.nav-pro-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1;padding:6px 10px}.nav-mobile-actions{display:none}.btn-nav-login{display:inline-block;padding:7px 20px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#1a1030;font-family:var(--font-sans);font-weight:600;font-size:.85rem;text-decoration:none;transition:var(--transition);cursor:pointer;border:none}.btn-nav-login:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--gold-glow)}.btn-nav-logout{padding:7px 16px;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-weight:500;font-size:.85rem;border:1px solid var(--border);cursor:pointer;transition:var(--transition)}.btn-nav-logout:hover{color:var(--red);border-color:var(--red)}.nav-user-email{color:var(--text-secondary);font-size:.8rem;font-weight:400;padding:4px 12px;border-radius:var(--radius-sm);background:#2ecc711a;border:1px solid rgba(46,204,113,.2);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user-email:before{content:"●";color:var(--green);margin-right:6px;font-size:.6rem;vertical-align:middle}.guest-banner{position:fixed;top:64px;left:0;right:0;z-index:999;background:linear-gradient(135deg,#d4af371f,#a882ff14);border-bottom:1px solid var(--gold-glow);padding:10px 24px;text-align:center;font-size:.85rem;color:var(--text-secondary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.guest-banner a{color:var(--gold-light);font-weight:600;text-decoration:underline;cursor:pointer}.guest-banner a:hover{color:var(--gold)}.announcement-bar{position:fixed;top:64px;left:0;right:0;z-index:1001;background:linear-gradient(135deg,#1f1147,#2d1b69);border-bottom:1px solid var(--accent-glow);padding:8px 24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.announcement-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;font-size:.85rem;color:var(--text-primary);text-align:center}.announcement-close{position:absolute;right:0;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:4px;transition:var(--transition);display:flex;align-items:center;justify-content:center}.announcement-close:hover{color:var(--gold-light)}@media(max-width:768px){.announcement-bar{padding:8px 16px}.announcement-content{font-size:.8rem;padding-right:32px}}@media(max-width:768px){.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:#0a0614f2;padding:16px 24px;border-bottom:1px solid var(--border);gap:12px}.nav-links.open{display:flex}.nav-auth-group{display:none}.nav-mobile-status{display:flex;margin-left:auto;margin-right:8px}.nav-mobile-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.nav-mobile-actions .btn-nav-login,.nav-mobile-actions .btn-nav-logout,.nav-mobile-actions .nav-link-external,.nav-mobile-actions .nav-user-email{width:100%;text-align:center;justify-content:center}.nav-mobile-actions .nav-user-email{max-width:none}}.auth-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;transition:opacity .3s;padding:20px}.hidden{display:none!important;opacity:0;pointer-events:none}#auth-container-wrapper{position:relative;width:100%;max-width:440px;padding:2.5rem 2rem;background:#120c1cb3;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 40px #00000080;text-align:center}.auth-title{font-family:var(--font-display);font-size:1.8rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-desc{color:var(--text-muted);font-size:.95rem;margin-bottom:2rem}.auth-error-msg{color:var(--red);font-size:.85rem;margin:10px 0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--red-bg);border:1px solid rgba(231,76,60,.3);text-align:left}.auth-success-msg{color:var(--green);font-size:.85rem;margin:10px 0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--green-bg);border:1px solid rgba(46,204,113,.3);text-align:left}.auth-switch{margin-top:16px;font-size:.9rem;color:var(--text-muted)}.btn-text{background:none;border:none;color:var(--gold-light);cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;text-decoration:underline;padding:0}.btn-text:hover{color:var(--gold)}.auth-social-group{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.btn-social{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.95rem;font-weight:500;cursor:pointer;transition:var(--transition);background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border)}.btn-social:hover{background:var(--bg-glass-hover);border-color:var(--accent)}.btn-social.google:hover{border-color:#4285f4}.btn-social.apple{background:#fff;color:#000;border-color:#fff}.btn-social.apple:hover{background:#f0f0f0}.auth-divider{display:flex;align-items:center;text-align:center;margin:24px 0;color:var(--text-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border)}.auth-divider span{padding:0 10px}.auth-switch{margin-top:20px;font-size:.9rem;color:var(--text-secondary)}.auth-error-msg{color:#ff6b6b;font-size:.85rem;margin-top:-10px;margin-bottom:10px;text-align:left}.btn-text{background:transparent;color:var(--accent-light);border:none;font-weight:600;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.btn-text:hover{color:var(--gold-light)}.nav-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.1rem}.brand-icon{font-size:1.5rem;filter:drop-shadow(0 0 8px var(--gold-glow))}.brand-text{background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:8px}.nav-link{color:var(--text-secondary);text-decoration:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;transition:var(--transition)}.nav-link:hover,.nav-link.active{color:var(--gold-light);background:var(--gold-glow)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition)}.hero{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-primary)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to bottom,#0a061480,#0a0614d9),url(/images/bg-hero.png);background-size:cover;background-position:center;filter:blur(4px);transform:scale(1.05);z-index:1}.hero-glow-particles{position:absolute;top:-50%;left:-30%;width:80%;height:80%;background:radial-gradient(circle,rgba(168,130,255,.08) 0%,transparent 60%);animation:heroGlow1 8s ease-in-out infinite;z-index:2}.hero-glow-particles-alt{position:absolute;bottom:-30%;right:-20%;width:70%;height:70%;background:radial-gradient(circle,rgba(212,175,55,.06) 0%,transparent 60%);animation:heroGlow2 10s ease-in-out infinite;z-index:2}@keyframes heroGlow1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(5%,8%) scale(1.1)}}@keyframes heroGlow2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-5%,-5%) scale(1.15)}}.hero-content{position:relative;z-index:2;text-align:center;padding:0 24px}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5rem);line-height:1.1;margin-bottom:24px}.hero-line1{display:block;color:var(--text-primary);opacity:0;animation:fadeInUp .8s .2s forwards}.hero-line2{display:block;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0;animation:fadeInUp .8s .5s forwards}.hero-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:520px;margin:0 auto 36px;line-height:1.8;opacity:0;animation:fadeInUp .8s .8s forwards}.btn-cta{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#1a1035;border:none;border-radius:var(--radius-xl);font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition-bounce);box-shadow:0 4px 24px var(--gold-glow);opacity:0;animation:fadeInUp .8s 1.1s forwards}.btn-cta:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 40px #d4af3780}.hero-stats{display:flex;justify-content:center;gap:40px;margin-top:60px;opacity:0;animation:fadeInUp .8s 1.4s forwards}.hero-stat{text-align:center}.hero-stat-num{display:block;font-size:2rem;font-weight:700;background:linear-gradient(135deg,var(--accent-light),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{padding:100px 0;position:relative}.section-dark{background:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:48px}.section-title{font-size:2rem;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,var(--text-primary),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-desc{color:var(--text-secondary);font-size:.95rem}.inventory-toolbar{display:flex;justify-content:center;margin-bottom:32px}.inventory-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;text-align:left}.inventory-demo-shell{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:28px;padding:28px}.inventory-demo-summary{display:flex;flex-direction:column;gap:18px}.inventory-demo-eyebrow{display:inline-flex;align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid rgba(168,130,255,.26);background:#a882ff1f;color:var(--accent-light);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.inventory-demo-title{font-size:1.5rem;line-height:1.35}.inventory-demo-copy,.inventory-demo-note,.inventory-category-note{color:var(--text-secondary);line-height:1.7}.inventory-demo-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-demo-stat{padding:16px;border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid var(--border)}.inventory-demo-stat strong{display:block;font-size:1.7rem;color:var(--text-primary)}.inventory-demo-stat span{color:var(--text-secondary);font-size:.85rem}.inventory-demo-actions{display:flex;flex-direction:column;gap:12px}.inventory-detail-link{align-self:flex-start}.inventory-demo-browser{min-width:0}.inventory-category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.inventory-category-tab{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--text-secondary);font:inherit;cursor:pointer;transition:var(--transition)}.inventory-category-tab:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--text-primary)}.inventory-category-tab.active{border-color:#a882ff73;background:linear-gradient(135deg,#a882ff2e,#5a3ea814);color:var(--text-primary);box-shadow:0 14px 32px #0000002e}.inventory-category-tab-count{min-width:24px;padding:2px 8px;border-radius:999px;background:#ffffff14;color:var(--text-primary);font-size:.75rem;text-align:center}.search-box{position:relative;width:100%;max-width:360px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.search-input{width:100%;padding:12px 16px 12px 42px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;transition:var(--transition)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-input::placeholder{color:var(--text-muted)}.inventory-grid{display:flex;flex-direction:column;gap:28px}.inventory-category{animation:fadeInUp .5s forwards}.inventory-category-demo{padding:20px 22px 22px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#121022eb,#0b0a16e0)}.inventory-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.category-title{font-size:1.05rem;font-weight:600;color:var(--text-secondary);margin-bottom:14px;padding-left:4px}.inventory-category-head .category-title{margin-bottom:8px;padding-left:0;color:var(--text-primary)}.inventory-inline-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;border:1px solid rgba(168,130,255,.25);color:var(--accent-light);text-decoration:none;white-space:nowrap}.inventory-inline-link:hover{background:#a882ff1f}.ingredient-chips{display:flex;flex-wrap:wrap;gap:10px}.inventory-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;border-radius:var(--radius-lg);border:1px dashed rgba(255,255,255,.12);color:var(--text-secondary)}.ingredient-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none}.ingredient-chip:hover{background:var(--bg-glass-hover);border-color:var(--accent);color:var(--text-primary);transform:translateY(-2px)}.ingredient-chip.active{background:linear-gradient(135deg,#2ecc7133,#2ecc7114);border-color:var(--green);color:var(--green);box-shadow:0 0 16px #2ecc7126}.chip-check{font-size:.75rem;font-weight:700;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0f}.ingredient-chip.active .chip-check{background:var(--green);color:#fff}@media(max-width:900px){.inventory-section-header{align-items:flex-start}.inventory-demo-shell{grid-template-columns:1fr}}@media(max-width:640px){.inventory-section-header{flex-direction:column}.inventory-demo-shell{padding:20px}.inventory-demo-stats{grid-template-columns:1fr}.inventory-category-head{flex-direction:column}}.cocktail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;flex-wrap:wrap}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-btn{padding:8px 18px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);font-family:var(--font-sans);font-size:.82rem;font-weight:500;cursor:pointer;transition:var(--transition)}.filter-btn:hover{border-color:var(--accent);color:var(--text-primary)}.filter-btn.active{background:linear-gradient(135deg,var(--accent),var(--accent-light));border-color:transparent;color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.toolbar-right{display:flex;align-items:center;gap:12px}.btn-accent{padding:10px 22px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#1a1035;border:none;border-radius:var(--radius-xl);font-family:var(--font-sans);font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition-bounce);white-space:nowrap}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--gold-glow)}.cocktails-carousel{position:relative;display:flex;align-items:center;gap:12px}.cocktails-carousel-viewport{flex:1;overflow:hidden;min-height:200px}.cocktails-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;transition:opacity .35s ease,transform .35s ease}.cocktails-grid.carousel-fade-out{opacity:0;transform:translate(-20px)}.cocktails-grid.carousel-fade-in{opacity:0;transform:translate(20px)}.carousel-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--gold-light);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);z-index:5}.carousel-arrow:hover{background:#d4af3726;border-color:var(--gold);color:var(--gold);transform:scale(1.1);box-shadow:0 0 20px var(--gold-glow)}.carousel-arrow:active{transform:scale(.95)}.carousel-arrow:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:24px;padding:8px 0}.carousel-dot{width:10px;height:10px;border-radius:50%;border:none;background:#ffffff26;cursor:pointer;transition:var(--transition);padding:0}.carousel-dot:hover{background:#ffffff59;transform:scale(1.2)}.carousel-dot.active{background:linear-gradient(135deg,var(--gold),var(--gold-light));box-shadow:0 0 8px var(--gold-glow);transform:scale(1.2)}.cocktail-card{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px;position:relative;overflow:hidden;transition:var(--transition)}.cocktail-card.card-enter{animation:cardEnter .5s forwards}@keyframes cardEnter{to{opacity:1;transform:translateY(0)}}.cocktail-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--accent));opacity:.7}.cocktail-card:hover{border-color:#a882ff4d;transform:translateY(-4px);box-shadow:var(--shadow),var(--shadow-glow)}.cocktail-card.can-make{border-color:#2ecc7133}.cocktail-card.can-make:before{background:var(--green)}.cocktail-card.almost{border-color:#f1c40f33}.cocktail-card.almost:before{background:var(--yellow)}.card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.card-badge{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.5px}.badge-available{background:var(--green-bg);color:var(--green);border:1px solid rgba(46,204,113,.3)}.badge-almost{background:var(--yellow-bg);color:var(--yellow);border:1px solid rgba(241,196,15,.3)}.badge-unavailable{background:#6c5f8a26;color:var(--text-muted);border:1px solid rgba(108,95,138,.2)}.fav-btn{margin-left:auto;background:none;border:none;font-size:1.3rem;cursor:pointer;transition:var(--transition-bounce);color:var(--text-muted);line-height:1;padding:4px}.fav-btn:hover{transform:scale(1.3)}.fav-btn.active{color:#e74c3c;text-shadow:0 0 12px rgba(231,76,60,.4)}.card-name{font-size:1.2rem;font-weight:700;margin-bottom:2px}.card-name-en{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-bottom:8px}.card-meta{font-size:.78rem;color:var(--accent-light);margin-bottom:14px}.card-ingredients{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.card-ing{font-size:.72rem;padding:3px 8px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:var(--text-secondary)}.card-ing.have{background:var(--green-bg);border-color:#2ecc7133;color:var(--green)}.card-ing.need{background:var(--red-bg);border-color:#e74c3c26;color:#e88a82}.card-missing{font-size:.78rem;color:var(--yellow);margin-bottom:12px}.card-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.btn-detail{padding:7px 18px;background:#a882ff1f;border:1px solid rgba(168,130,255,.25);border-radius:var(--radius-sm);color:var(--accent-light);font-family:var(--font-sans);font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition)}.btn-detail:hover{background:#a882ff38;border-color:var(--accent)}.btn-delete-recipe{background:none;border:none;font-size:1.1rem;cursor:pointer;opacity:.5;transition:var(--transition);padding:4px 8px}.btn-delete-recipe:hover{opacity:1;transform:scale(1.1)}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.export-panel{max-width:500px;margin:0 auto;padding:40px;text-align:center}.export-options{margin-bottom:28px}.export-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:10px}.export-select{width:100%;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;outline:none;cursor:pointer;transition:var(--transition);appearance:none}.export-select:focus{border-color:var(--accent)}.btn-export{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:linear-gradient(135deg,var(--accent),var(--accent-light));color:#fff;border:none;border-radius:var(--radius-xl);font-family:var(--font-sans);font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition-bounce);box-shadow:0 4px 24px var(--accent-glow)}.btn-export:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 8px 40px #a882ff66}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:var(--transition)}.modal-overlay.open{opacity:1;visibility:visible}.modal-content{max-width:560px;width:100%;max-height:85vh;overflow-y:auto;padding:32px;position:relative;transform:translateY(30px) scale(.95);transition:var(--transition-bounce)}.modal-overlay.open .modal-content{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:#ffffff0f;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);line-height:1}.modal-close:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}.detail-hero{margin:-32px -32px 24px;padding:32px;position:relative;overflow:hidden}.detail-color-bar{position:absolute;top:0;left:0;right:0;height:4px}.detail-hero h2{font-size:1.8rem;font-weight:700;margin-bottom:4px}.detail-en{color:var(--text-muted);font-size:.9rem;margin-bottom:8px}.detail-meta{color:var(--accent-light);font-size:.85rem}.detail-body h4{font-size:1rem;font-weight:600;color:var(--gold-light);margin-bottom:12px;margin-top:24px}.detail-body h4:first-child{margin-top:0}.detail-ingredients{list-style:none;display:flex;flex-direction:column;gap:8px}.detail-ingredients li{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#ffffff08;border-radius:var(--radius-sm);font-size:.88rem}.detail-ing-status{width:20px;text-align:center;font-weight:700;font-size:.8rem}.detail-ingredients{list-style:none;padding:0;margin:1.5rem 0}.detail-ingredients li{display:flex!important;align-items:center;justify-content:space-between;padding:.85rem 1rem;margin:.3rem -1rem;border-bottom:1px solid rgba(255,255,255,.05);border-radius:var(--radius-sm);transition:all .3s ease}.detail-ingredients li.have{background:var(--green-bg)}.detail-ingredients li.need{background:var(--red-bg)}.detail-ingredients li:last-child{border-bottom:none}.detail-ing-status{margin-right:12px;font-size:.9rem;opacity:.7}.detail-ingredients li.have .detail-ing-status{color:var(--green)}.detail-ingredients li.need .detail-ing-status{color:var(--red)}.detail-ing-name{flex-grow:1;font-weight:500;color:var(--text-light);display:flex;align-items:center;gap:10px}.detail-ing-amount{color:var(--text-muted);font-size:.95rem;font-variant-numeric:tabular-nums;margin-left:1rem}.amazon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:.5;transition:all .4s cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:0}.amazon-link svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}.amazon-link:hover{opacity:1;color:var(--card-color, var(--primary-color));transform:translateY(-2px)}.buy-now-cta{font-size:.72rem;font-weight:700;color:#1a1035;background:var(--gold);padding:2px 10px;border-radius:50px;margin-left:10px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px var(--gold-glow);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.detail-instructions{color:var(--text-secondary);line-height:1.8;font-size:.95rem;margin-top:.5rem}#gated-section{position:relative;margin-top:1.5rem;min-height:120px}#gated-section.is-locked .detail-instructions-container{overflow:hidden;position:relative;max-height:80px;filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,transparent 100%);pointer-events:none;-webkit-user-select:none;user-select:none}.paywall-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem}#gated-section.is-locked .paywall-overlay{display:flex}.paywall-content{background:#ffffff0d;padding:1.2rem 2rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 40px #00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-width:90%}.paywall-title{font-family:var(--font-accent);font-size:1.1rem;margin-bottom:.8rem;color:var(--text-light);line-height:1.4}.btn-paywall{display:inline-block;padding:.7rem 1.4rem;background:var(--card-color, var(--primary-color));color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:.9rem;letter-spacing:.5px;transition:all .3s ease;border:none;cursor:pointer}.btn-paywall:hover{transform:scale(1.05);filter:brightness(1.2);box-shadow:0 0 20px #fff3}.recipe-modal-content{max-width:640px}.modal-title{font-size:1.4rem;font-weight:700;margin-bottom:24px;padding-right:40px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.required{color:var(--red)}.form-input{width:100%;padding:11px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.88rem;outline:none;transition:var(--transition)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.ingredient-row{display:flex;gap:8px;margin-bottom:10px;align-items:center}.input-ing-name{flex:2;padding:9px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.82rem;outline:none;transition:var(--transition)}.input-ing-name:focus{border-color:var(--accent)}.input-ing-amount{flex:1;padding:9px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.82rem;outline:none;transition:var(--transition)}.input-ing-amount:focus{border-color:var(--accent)}.select-ing-cat{flex:1;padding:9px 8px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.78rem;outline:none;cursor:pointer;transition:var(--transition)}.btn-remove-ing{background:none;border:1px solid var(--border);border-radius:50%;width:30px;height:30px;color:var(--text-muted);font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.btn-remove-ing:hover{border-color:var(--red);color:var(--red);background:var(--red-bg)}.btn-add-ing{width:100%;padding:10px;background:#a882ff14;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--accent-light);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:var(--transition)}.btn-add-ing:hover{background:#a882ff29;border-color:var(--accent)}.btn-submit{width:100%;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#1a1035;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:1rem;font-weight:700;cursor:pointer;transition:var(--transition-bounce)}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--gold-glow)}.footer{text-align:center;padding:40px 24px;color:var(--text-muted);font-size:.82rem;border-top:1px solid var(--border)}.footer-content{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}.footer-logo{font-weight:700;letter-spacing:.3px;color:var(--text-secondary)}.footer-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.footer a{color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.footer a:hover{color:var(--gold-light);text-decoration:underline}@media(max-width:768px){.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#0a0614f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--border)}.nav-links.open{display:flex}.hero-stats{gap:20px;flex-wrap:wrap}.hero-stat-num{font-size:1.5rem}.cocktail-toolbar{flex-direction:column;align-items:stretch}.toolbar-right{flex-direction:column}.cocktails-grid{grid-template-columns:1fr}.carousel-arrow{width:36px;height:36px;font-size:.9rem}.cocktails-carousel{gap:6px}.form-row{grid-template-columns:1fr}.ingredient-row{flex-wrap:wrap}.input-ing-name,.input-ing-amount{flex:1 1 120px}.select-ing-cat{flex:1 1 100%}.export-panel{padding:28px 20px}.section{padding:60px 0}.modal-content{padding:24px}.detail-hero{margin:-24px -24px 20px;padding:24px}}@media(max-width:480px){.hero-title{font-size:2.2rem}.hero-subtitle{font-size:.95rem}.filter-group{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.filter-btn{white-space:nowrap;flex-shrink:0}}.profile-section{padding-top:120px;background:var(--bg-primary);min-height:100vh}.profile-hero{display:flex;align-items:center;gap:24px;padding:32px 36px;margin-bottom:28px;position:relative;overflow:hidden}.profile-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--accent),var(--gold))}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent-glow),var(--gold-glow));border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0;box-shadow:0 0 24px var(--gold-glow);overflow:hidden;position:relative;color:var(--text-primary)}.profile-avatar-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-hero-info{display:flex;flex-direction:column;gap:6px}.profile-hero-email{font-size:.86rem;color:var(--text-secondary);word-break:break-all}.profile-display-name{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-plan-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;color:var(--gold-light);background:#d4af371f;border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-xl);padding:4px 14px;width:fit-content}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.profile-card{padding:28px;position:relative;overflow:hidden;transition:var(--transition)}.profile-card:hover{border-color:var(--accent);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.profile-card-title{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.profile-card-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.profile-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.profile-stat-item{text-align:center;padding:20px 16px;background:#a882ff0f;border:1px solid rgba(168,130,255,.1);border-radius:var(--radius-md);transition:var(--transition)}.profile-stat-item:hover{background:#a882ff1f;border-color:var(--accent)}.profile-stat-num{display:block;font-size:2.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent-light),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.profile-stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-form-group{display:flex;gap:10px;align-items:center}.profile-form-group .form-input{flex:1}.profile-form-stack{display:flex;flex-direction:column;gap:12px}.profile-form-stack .profile-form-group{width:100%}.profile-card-note{margin-top:10px;color:var(--text-muted);font-size:.8rem;line-height:1.55}.profile-provider-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.profile-provider-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;border:1px solid rgba(168,130,255,.3);background:#a882ff1f;color:var(--text-secondary);font-size:.78rem;font-weight:600}.profile-provider-chip.is-linked,.profile-provider-chip-fixed{border-color:#2ecc7159;background:#2ecc7124;color:#7be2a2}.btn-profile-save{padding:10px 22px;background:linear-gradient(135deg,var(--accent),var(--accent-light));color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition-bounce);white-space:nowrap;flex-shrink:0}.btn-profile-save:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--accent-glow)}.btn-profile-save:active{transform:translateY(0)}.btn-profile-secondary{padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.84rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn-profile-secondary:hover{border-color:var(--accent);color:var(--text-primary)}.profile-msg{margin-top:12px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.85rem;animation:fadeInUp .3s forwards}.profile-msg.success{color:var(--green);background:var(--green-bg);border:1px solid rgba(46,204,113,.3)}.profile-msg.error{color:var(--red);background:var(--red-bg);border:1px solid rgba(231,76,60,.3)}.profile-danger-zone{border-color:#e74c3c33}.profile-danger-zone:hover{border-color:var(--red);box-shadow:0 0 24px #e74c3c1a}.profile-danger-zone .profile-card-title{color:var(--red)}.btn-danger{padding:10px 28px;background:transparent;color:var(--red);border:1px solid var(--red);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-danger:hover{background:var(--red);color:#fff;box-shadow:0 4px 16px #e74c3c4d}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}.profile-hero{flex-direction:column;text-align:center;padding:28px 20px}.profile-hero-info{align-items:center}.profile-form-group{flex-direction:column}.profile-form-group .form-input,.btn-profile-save,.btn-profile-secondary{width:100%}}a.nav-user-email{text-decoration:none;cursor:pointer;transition:var(--transition)}a.nav-user-email:hover{background:#2ecc712e;border-color:var(--green);transform:translateY(-1px)}.mybar-section{padding-bottom:100px}.shelf-display{display:flex;flex-direction:column;gap:40px;margin-bottom:40px}.shelf{position:relative;height:120px;border-bottom:8px solid #5d4037;display:flex;align-items:flex-end;padding:0 10px 10px;gap:15px;background:#0003;border-radius:4px;box-shadow:0 10px 20px #0000004d}.shelf:before{content:"";position:absolute;bottom:-12px;left:0;right:0;height:4px;background:#00000080;filter:blur(4px)}.bottle{width:45px;height:90px;background:var(--bottle-color, #a882ff);border-radius:8px 8px 4px 4px;position:relative;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0006}.bottle.inactive{filter:grayscale(1) opacity(.3);transform:translateY(10px)}.bottle.active:hover{transform:translateY(-15px) scale(1.1);box-shadow:0 15px 30px #a882ff66}.bottle-label{font-size:.6rem;font-weight:700;color:#fff;background:#0006;padding:2px 4px;border-radius:2px;text-align:center;pointer-events:none;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encyclopedia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.encyclopedia-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition)}.ency-img-container{height:200px;overflow:hidden;position:relative}.ency-img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.encyclopedia-card:hover .ency-img{transform:scale(1.1)}.ency-info{padding:20px}.ency-name{font-size:1.25rem;font-weight:700;margin-bottom:4px}.ency-name-en{font-size:.85rem;color:var(--text-muted);margin-bottom:16px}.blurred{filter:blur(8px) grayscale(.5);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 80%);mask-image:linear-gradient(to bottom,black 0%,transparent 80%)}.blur-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0a061466;padding:10px;z-index:10}.blur-cta p{font-size:.85rem;font-weight:600;margin-bottom:12px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8)}.btn-lock{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer}.ad-slot{margin:40px 0;padding:15px;background:#ffffff08;border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center}.ad-placeholder{font-size:.8rem;color:var(--text-muted);font-style:italic}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.btn-back-home{font-size:.85rem;color:var(--accent);text-decoration:none;font-weight:600;padding:6px 12px;border:1px solid var(--accent);border-radius:var(--radius-sm);transition:var(--transition)}.btn-back-home:hover{background:var(--accent);color:#fff}.auth-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.auth-overlay.hidden{display:none!important}.auth-container{width:100%;max-width:420px;padding:40px;position:relative;animation:modalScale .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.auth-title{font-size:1.8rem;font-weight:700;text-align:center;margin-bottom:8px;background:linear-gradient(135deg,var(--text-primary),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-desc{font-size:.9rem;color:var(--text-secondary);text-align:center;margin-bottom:32px}.auth-error-msg{color:#f55;background:#ff55551a;border:1px solid rgba(255,85,85,.2);padding:10px;border-radius:var(--radius-sm);font-size:.82rem;margin-bottom:16px;text-align:center}.auth-success-msg{color:var(--green);background:var(--green-bg);border:1px solid rgba(46,204,113,.2);padding:10px;border-radius:var(--radius-sm);font-size:.82rem;margin-bottom:16px;text-align:center}.auth-switch{margin-top:24px;text-align:center;font-size:.85rem;color:var(--text-muted)}.btn-text{background:none;border:none;color:var(--accent-light);font-weight:600;cursor:pointer;padding:2px 4px;transition:var(--transition)}.btn-text:hover{color:var(--accent)}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;color:var(--text-muted);font-size:1.8rem;line-height:1;cursor:pointer;transition:var(--transition);padding:5px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.inventory-info-note{background:#a882ff14;border:1px solid rgba(168,130,255,.2);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-bottom:1.5rem}.inventory-info-note p{color:var(--text-secondary);font-size:.85rem;margin:0}.nav-link-external{color:var(--accent-light);text-decoration:none;font-size:.9rem;font-weight:500;padding:8px 12px;transition:var(--transition)}.nav-link-external:hover{color:var(--gold-light)}.shelf-container{padding:2rem;position:relative}.shelf-display{display:flex;flex-direction:column;gap:2rem;align-items:center}.shelf-group{width:100%;max-width:900px}.shelf-group-label{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;margin-bottom:1rem}.shelf-row{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:20px;padding:0 1rem 8px;min-height:100px}.shelf-ledge{height:8px;background:linear-gradient(180deg,#a882ff40,#a882ff0d);border-radius:0 0 6px 6px;box-shadow:0 4px 16px #a882ff1a,inset 0 2px 4px #ffffff0d;margin-top:0}.shelf-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.shelf-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.shelf-empty p{font-size:1rem;margin-bottom:.5rem}.shelf-empty-sub{font-size:.85rem;opacity:.7}.bottle-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:transform .3s ease}.bottle-wrapper:hover{transform:translateY(-4px)}.bottle-wrapper:hover .bottle-visual{filter:brightness(1.15)}.bottle-visual{position:relative;display:flex;flex-direction:column;align-items:center;width:var(--bottle-width, 40px);transition:filter .3s ease}.bottle-visual.ghost{opacity:.35;filter:grayscale(.5)}.bottle-visual.ghost:hover{opacity:.6;filter:grayscale(0)}.bottle-neck{width:calc(var(--bottle-width, 40px) * .35);height:calc(var(--bottle-height, 120px) * .22);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:3px 3px 0 0;position:relative}.bottle-neck:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:calc(var(--bottle-width, 40px) * .45);height:4px;background:#ffffff26;border-radius:3px 3px 0 0}.bottle-body{width:var(--bottle-width, 40px);height:var(--bottle-height, 120px);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:0 0 4px 4px;position:relative;overflow:hidden}.bottle-fill{position:absolute;bottom:0;left:0;right:0;height:var(--bottle-fill, 0%);background:var(--bottle-color, #3498db);opacity:.85;transition:height .6s ease,background .4s ease;border-radius:0 0 3px 3px}.bottle-fill:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#ffffff59;filter:blur(1px)}.bottle-shine{position:absolute;top:0;left:15%;width:20%;height:100%;background:linear-gradient(180deg,#ffffff1f,#ffffff0a,#ffffff14);pointer-events:none}.bottle-label{display:block;text-align:center;font-size:.68rem;color:var(--text-secondary);max-width:calc(var(--bottle-width, 40px) + 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;font-weight:500}.bottle-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1.5px dashed var(--text-muted);background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:var(--transition);margin-bottom:calc(var(--bottle-height, 120px) * .3);align-self:flex-end;flex-shrink:0}.bottle-add-btn:hover{border-color:var(--accent);color:var(--accent);background:#a882ff1a;transform:scale(1.1)}.btn-add-spirit{display:flex;align-items:center;justify-content:center;gap:8px;margin:1.5rem auto 0;padding:12px 28px;border-radius:var(--radius-xl);border:1.5px dashed var(--accent);background:#a882ff14;color:var(--accent-light);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition)}.btn-add-spirit:hover{background:#a882ff2e;border-color:var(--accent-light);transform:translateY(-2px);box-shadow:0 4px 20px var(--accent-glow)}.add-spirit-icon{font-size:1.2rem}.add-spirit-modal-content{max-width:560px;max-height:80vh;overflow-y:auto;padding:2rem}.modal-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;text-align:center}.spirit-selection-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.spirit-category-title{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem}.spirit-chips{display:flex;flex-wrap:wrap;gap:8px}.spirit-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-glass);color:var(--text-secondary);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition)}.spirit-chip:hover{border-color:var(--accent);background:#a882ff1a}.spirit-chip.active{background:linear-gradient(135deg,#2ecc7126,#2ecc7114);border-color:var(--green);color:var(--green)}.spirit-chip.active.has-stock{border-color:var(--green);opacity:.85;cursor:not-allowed}.spirit-chip.active.has-stock:after{content:"🔒";font-size:.7rem;margin-left:2px}.spirit-chip-check{font-size:.8rem;font-weight:700}.bottle-detail-modal-content{max-width:480px;padding:2rem}.remaining-input-group{display:flex;align-items:center;gap:12px}.remaining-slider{-webkit-appearance:none;appearance:none;flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent-glow),var(--bg-glass));outline:none;cursor:pointer}.remaining-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 8px #a882ff66;transition:var(--transition)}.remaining-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 4px 16px #a882ff99}.remaining-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 2px 8px #a882ff66}.remaining-number{width:70px!important;flex-shrink:0;text-align:center}.color-picker-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.color-picker-input{-webkit-appearance:none;appearance:none;width:44px;height:44px;border:2px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer;padding:2px}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:none;border-radius:4px}.color-presets{display:flex;gap:6px;flex-wrap:wrap}.color-preset{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.15);cursor:pointer;transition:var(--transition)}.color-preset:hover{transform:scale(1.2);border-color:#ffffff80;box-shadow:0 2px 12px #0000004d}.bottle-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:1.5rem}.btn-delete-bottle{font-size:.85rem!important;padding:8px 16px!important}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.shake{animation:shake .5s ease}.ingredient-chip.has-stock{cursor:not-allowed;opacity:.85}.ingredient-chip.has-stock:after{content:"🔒";font-size:.65rem;margin-left:4px}@media(max-width:768px){.shelf-row{gap:14px;padding:0 .5rem 6px}.shelf-container{padding:1.25rem}.bottle-label{font-size:.6rem}.btn-add-spirit{padding:10px 20px;font-size:.85rem}.add-spirit-modal-content,.bottle-detail-modal-content{padding:1.5rem}.remaining-input-group{flex-direction:column;align-items:stretch}.remaining-number{width:100%!important}}.recipe-layout{max-width:1040px;margin:80px auto 0;padding:2rem}.recipe-hero{position:relative;background:var(--bg-card);border-radius:12px;padding:0;box-shadow:0 10px 30px #0000004d;overflow:hidden;margin-bottom:1.6rem;display:grid;grid-template-columns:1fr}@media(min-width:768px){.recipe-hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.recipe-color-bar{position:absolute;top:0;left:0;width:100%;height:4px;background:var(--accent)}.recipe-image-wrap{min-height:320px;background:#111;overflow:hidden}.recipe-image-wrap img{width:100%;height:100%;object-fit:cover;opacity:.9}.recipe-content-wrap{padding:2.2rem;display:flex;flex-direction:column;justify-content:flex-start;min-width:0}.recipe-title{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--card-color, var(--accent-light)),white);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;word-break:break-word;overflow-wrap:anywhere}.recipe-title-en{color:var(--text-secondary);font-size:1.1rem;font-family:serif;font-style:italic;margin-bottom:1.5rem;word-break:break-word;overflow-wrap:anywhere}.recipe-meta-text{font-size:.95rem;color:#aaa;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.recipe-section-title{font-size:1.25rem;margin-top:2rem;margin-bottom:1rem;color:#fff;display:flex;align-items:center;gap:.5rem}.recipe-ingredients{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.recipe-ingredients li{display:grid;grid-template-columns:minmax(0,1fr) 78px 280px;align-items:center;gap:.9rem;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.08);background:#ffffff08}.recipe-ingredients li.have{background:var(--green-bg);border-color:#2ecc7159}.recipe-ingredients li.need{background:var(--red-bg);border-color:#e74c3c59}.recipe-ingredients li.need.guest-needs-login{background:#9c89661f;border-color:#baa47d57}.recipe-ingredients-section{margin-bottom:2rem}.recipe-ingredients-card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);padding:2rem;box-shadow:0 8px 24px #00000040}.ingredient-affiliate-links{display:inline-flex;align-items:center;width:100%;gap:.45rem;flex-shrink:0;flex-wrap:nowrap;justify-content:flex-end}.affiliate-link{text-decoration:none;font-size:.74rem;font-weight:700;line-height:1;padding:.36rem .55rem;border-radius:999px;border:1px solid transparent;transition:var(--transition)}.affiliate-link-amazon{color:#f8d38a;border-color:#ffc45f80;background:#ffc45f29}.affiliate-link-rakuten{color:#ffb8bf;border-color:#ff638480;background:#ff638429}.affiliate-link:hover{transform:translateY(-1px);filter:brightness(1.1)}.stock-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}[data-stock-chip].stock-chip{pointer-events:none}.stock-chip-have{color:#8ff0c1;border-color:#2ecc718c;background:#2ecc7133}.stock-chip-need{color:#ffb8b8;border-color:#e74c3c8c;background:#e74c3c33}.stock-action-chip{min-width:96px;text-align:center;cursor:pointer}.stock-add-btn{color:#8ff0c1;border-color:#2ecc718c;background:#2ecc7133}.stock-chip-login{color:#f4e6cc;border-color:#bda5788c;background:#a38b633d}.stock-add-btn[disabled]{opacity:.65;cursor:default;transform:none}.recipe-ingredients .detail-ing-name{flex:1 1 auto;min-width:9rem}.recipe-ingredients .detail-ing-amount{flex:0 0 auto;margin-left:0;min-width:72px;text-align:right;color:var(--text-light);font-variant-numeric:tabular-nums}.ingredient-mobile-chip-row{display:none}.ingredient-mobile-chip-left,.ingredient-mobile-chip-right{display:inline-flex;align-items:center;gap:.45rem}.recipe-ingredients .detail-ing-lead-chip{display:inline-flex;align-items:center}.rakuten-product-card{display:none;grid-column:1 / -1;width:100%;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#00000024;padding:.5rem;align-items:center;gap:.55rem}.rakuten-product-card.is-visible{display:flex}.rakuten-product-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;background:#ffffff12;flex:0 0 48px}.rakuten-product-thumb.is-fallback{object-fit:contain;padding:6px;background:#ff638429}.rakuten-product-meta{display:flex;flex-direction:column;gap:.18rem;min-width:0}.rakuten-product-title{font-size:.78rem;line-height:1.25;color:#f0f0f0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rakuten-product-price{font-size:.76rem;color:#ffb8bf;font-weight:700}@media(max-width:640px){.recipe-ingredients li{grid-template-columns:minmax(0,1fr) auto;align-items:start}.ingredient-mobile-chip-row{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;gap:.6rem}.ingredient-mobile-chip-left{justify-content:flex-start;min-width:0}.ingredient-mobile-chip-right{justify-content:flex-end;flex-wrap:nowrap;margin-left:auto}.ingredient-mobile-chip-right .affiliate-link{white-space:nowrap}.ingredient-affiliate-links{display:none}.recipe-ingredients .detail-ing-name{min-width:0;gap:.5rem}.recipe-ingredients .detail-ing-lead-chip{display:none}.recipe-ingredients .detail-ing-amount{min-width:56px}}.recipe-instructions{line-height:1.8;color:#ddd}.acquisition-cta{margin:4rem 0;background:linear-gradient(135deg,#a882ff1a,#2ecc711a);border:1px solid rgba(168,130,255,.3);border-radius:16px;padding:3rem 2rem;text-align:center;position:relative;overflow:hidden}.gated-content{position:relative}.gated-content.is-locked .gated-text{filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.6;-webkit-mask-image:linear-gradient(to bottom,black 30%,transparent 100%);mask-image:linear-gradient(to bottom,black 30%,transparent 100%)}.gated-overlay{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:90%;z-index:10;background:#111111d9;padding:2rem;border-radius:12px;border:1px solid var(--accent);box-shadow:0 10px 30px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gated-content.is-locked .gated-overlay{display:block}.pwa-install-prompt{position:fixed;left:12px;right:12px;bottom:16px;z-index:2100}.pwa-install-card{padding:16px;border-radius:14px;border:1px solid var(--border);background:#120c1ceb;box-shadow:0 12px 32px #0000006b}.pwa-install-card h3{margin:0 0 6px;font-size:1rem;color:var(--gold-light)}.pwa-install-card p{margin:0;color:var(--text-secondary);font-size:.84rem;line-height:1.5}.pwa-install-actions{margin-top:12px;display:flex;gap:8px}.pwa-install-btn{margin:0;padding:11px 12px;font-size:.9rem}.pwa-install-close{width:auto;min-width:84px}.acquisition-cta:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(168,130,255,.15) 0%,transparent 60%);pointer-events:none}.cta-heading{font-size:1.8rem;color:#fff;margin-bottom:1rem}.cta-text{color:var(--text-secondary);margin-bottom:2rem;max-width:600px;margin-inline:auto;line-height:1.6}.cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--accent),var(--green));color:#111;font-weight:700;font-size:1.1rem;text-decoration:none;border-radius:30px;transition:transform .2s,box-shadow .2s}.cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #a882ff66}.recipe-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.abv-badge{background:linear-gradient(135deg,#ff512f,#dd2476);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.9rem;font-weight:700;white-space:nowrap;box-shadow:0 4px 15px #dd247666;margin-top:.5rem}.recipe-genres{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.genre-tag{background:#a882ff26;color:var(--accent-light);padding:.3rem .9rem;border-radius:15px;font-size:.8rem;border:1px solid rgba(168,130,255,.3);font-weight:500}.recipe-social-share{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;margin:1.4rem 0 1.9rem;width:100%;min-width:0}.share-btn{width:100%;min-width:0;height:46px;padding:.55rem .8rem;font:inherit;appearance:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;background:#a882ff26;border:1px solid rgba(168,130,255,.3);color:var(--accent-light);text-decoration:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;box-sizing:border-box}.share-btn:hover{transform:translateY(-2px);background:#a882ff40;color:#fff;border-color:#d4af37cc;box-shadow:0 5px 15px #0000004d}.share-btn-text{font-size:.8rem;font-weight:600;line-height:1.2;letter-spacing:.2px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.share-btn svg{width:18px;height:18px;flex:0 0 18px}.share-btn.twitter:hover{background:#0f1419;border-color:#ffffff38}.share-btn.line:hover{background:#00b900;border-color:#00b900;color:#fff}.share-btn.native:hover{background:#a882ff4d;border-color:#d4af37bf}.share-btn.instagram:hover{background:var(--instagram-gradient);border-color:transparent;color:#fff}@media(max-width:600px){.recipe-social-share{gap:.56rem}.share-btn{height:44px;padding:.5rem .65rem}.share-btn-text{font-size:.72rem}.recipe-layout{padding:1rem}.recipe-content-wrap{padding:1.35rem}.recipe-title{font-size:2rem;line-height:1.2}.recipe-title-en,.detail-meta{font-size:.92rem;overflow-wrap:anywhere}}.recipe-spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-bottom:2.5rem;min-width:0}@media(max-width:600px){.recipe-spec-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}.spec-card{padding:1rem .6rem;gap:.5rem}.spec-icon-wrap{width:40px;height:40px}.spec-icon-wrap svg{width:26px;height:26px}.spec-label{font-size:.66rem;letter-spacing:.5px}.spec-value{font-size:.92rem}}.spec-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;transition:var(--transition);text-align:center;text-decoration:none;cursor:pointer;min-width:0}.spec-card:hover{border-color:var(--gold);transform:translateY(-3px);background:var(--bg-glass-hover)}.spec-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;position:relative;font-size:1.6rem;line-height:1}.spec-icon-wrap svg{width:32px;height:32px;stroke:var(--gold);stroke-width:1.5;fill:none;filter:drop-shadow(0 0 8px var(--gold-glow))}.spec-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.spec-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.genre-tag.link{text-decoration:none;cursor:pointer;transition:var(--transition)}.genre-tag.link:hover{background:var(--gold-glow);border-color:var(--gold);color:var(--gold-light);transform:scale(1.05)}.recipe-instructions-list{display:flex;flex-direction:column;gap:1rem}.instruction-step{display:flex;gap:1rem;line-height:1.8;color:#ddd}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;background:var(--accent);color:#111;border-radius:50%;font-size:.8rem;font-weight:700;margin-top:.3rem}.related-title{font-size:1.5rem;margin-bottom:1.5rem;color:#fff}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}.related-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;transition:all .3s;display:flex;flex-direction:column}.related-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 10px 20px #0006}.related-img{width:100%;height:100%;object-fit:cover;display:block}.related-info{padding:1.2rem}.related-name{display:block;color:#fff;font-weight:600;margin-bottom:.3rem}.related-tagline{display:block;color:var(--text-secondary);font-size:.8rem}.no-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-glass);color:var(--text-muted);font-size:.9rem;text-align:center;aspect-ratio:1 / 1;border-radius:var(--radius-md);border:1px dashed var(--border);width:100%;height:100%}.placeholder-icon{font-size:2.5rem;margin-bottom:8px;filter:grayscale(1) opacity(.5)}.placeholder-text{font-weight:600;color:var(--text-secondary);font-size:.85rem;letter-spacing:.5px}.placeholder-sub{font-size:.75rem;opacity:.6;margin-top:4px}.related-img-wrap{width:100%;aspect-ratio:1/1;overflow:hidden;border-bottom:1px solid var(--border)}.card-img-wrap{width:100%;aspect-ratio:1 / 1;overflow:hidden;position:relative}.export-panel{padding:32px;margin-top:24px}.export-options{margin-bottom:24px}.export-options:last-child{margin-bottom:0}.export-label{display:block;font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.export-select{width:100%;padding:12px 16px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;cursor:pointer;transition:var(--transition)}.export-select:hover{border-color:var(--accent);background:var(--bg-glass-hover)}.export-select optgroup{background:var(--bg-secondary);color:var(--gold-light);font-weight:700;font-style:normal}.export-select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.export-toggle-group{display:flex;flex-wrap:wrap;gap:10px}.export-toggle-btn{padding:10px 18px;border-radius:999px;background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;transition:var(--transition-bounce);-webkit-user-select:none;user-select:none}.export-toggle-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary);transform:translateY(-2px)}.export-toggle-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.export-toggle-btn:disabled{opacity:.5;cursor:not-allowed;border-style:dashed}.btn-export{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;margin-top:12px;border-radius:var(--radius-md);background:var(--gold-gradient);color:#1a1030;font-family:var(--font-sans);font-weight:700;font-size:1.1rem;border:none;cursor:pointer;transition:var(--transition-bounce)}.btn-export:hover{transform:translateY(-3px);box-shadow:0 8px 24px var(--gold-glow)}.btn-export svg{transition:transform .3s ease}.btn-export:hover svg{transform:translateY(2px)}.cocktail-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px;flex-wrap:wrap}@media(max-width:768px){.export-panel{padding:24px 20px}.export-toggle-btn{padding:8px 14px;font-size:.82rem}}
