@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";.camera-capture{max-width:600px;margin:0 auto;animation:var(--slide-up);padding:20px}.capture-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:48px;box-shadow:var(--shadow-xl);border:1px solid var(--border-color);position:relative;overflow:hidden;text-align:center}.capture-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--wine-rich)}.capture-card h2{font-family:Cormorant Garamond,Georgia,serif;font-size:2.2rem;color:var(--wine-rich);margin-bottom:16px;font-weight:500;letter-spacing:.02em}.capture-instructions{color:var(--text-muted);margin-bottom:40px;font-size:1.05rem;line-height:1.6;font-family:Inter,sans-serif;max-width:420px;margin-left:auto;margin-right:auto}.btn-camera-trigger{background:var(--wine-rich);color:#fff;margin:0 auto 32px;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 32px;border-radius:var(--radius-full);font-family:Inter,sans-serif;font-weight:500;letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;transition:all .3s ease;box-shadow:var(--shadow-md);border:1px solid transparent}.btn-camera-trigger:hover{background:var(--wine-deep);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-camera-trigger:disabled{opacity:.7;cursor:not-allowed;transform:none}.upload-area{position:relative;border:1px dashed var(--border-color);border-radius:var(--radius-lg);padding:48px 32px;text-align:center;transition:all .4s ease;cursor:pointer;background:var(--bg-light);margin-bottom:40px}.upload-area:hover{border-color:var(--wine-rich);background:var(--bg-white);box-shadow:var(--shadow-md)}.upload-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--text-muted);opacity:.5;transition:all .3s ease}.upload-area:hover .upload-icon{color:var(--wine-rich);opacity:1;transform:scale(1.1)}.upload-placeholder p{font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;color:var(--text-dark);margin-bottom:8px}.upload-hint{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;display:block}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.camera-live-box{margin-bottom:32px;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#000;box-shadow:var(--shadow-xl);position:relative}.camera-live-video{width:100%;border-radius:var(--radius);display:block;max-height:500px;object-fit:cover}.camera-live-actions{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:16px}.btn-capture{width:64px;height:64px;border-radius:50%;background:#fff;border:4px solid rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.btn-capture:hover{transform:scale(1.1)}.btn-capture::inner{width:54px;height:54px;border-radius:50%;background:#fff;border:2px solid var(--wine-rich)}.btn-cancel{position:absolute;top:24px;right:24px;background:#00000080;color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#000c}.preview-container{animation:var(--fade-in)}.preview-image{max-width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);margin-bottom:32px;border:1px solid var(--border-color);max-height:500px;object-fit:contain;background:#000}.preview-actions{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-dark);padding:14px 28px;border-radius:var(--radius-full);font-family:Inter,sans-serif;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{border-color:var(--wine-rich);color:var(--wine-rich);background:var(--bg-light)}.btn-primary{background:var(--wine-rich);color:#fff;border:1px solid transparent;padding:14px 32px;border-radius:var(--radius-full);font-family:Inter,sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.02em;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--wine-deep);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.capture-tips{background:var(--parchment);border-radius:var(--radius-lg);padding:32px;border:1px solid var(--border-color);text-align:left}.capture-tips h3{font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;color:var(--wine-rich);margin-bottom:20px;display:flex;align-items:center;gap:10px}.capture-tips ul{list-style:none;padding:0;display:grid;gap:12px}.capture-tips li{padding-left:24px;position:relative;color:var(--text-muted);font-size:.95rem}.capture-tips li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--wine-rich);border-radius:50%;opacity:.6}@media (max-width: 480px){.camera-capture{padding:0;max-width:100%}.capture-card{border-radius:0;border:none;box-shadow:none;padding:32px 20px;background:transparent}.capture-card:before{display:none}.capture-card h2{font-size:1.8rem;margin-top:10px}.capture-instructions{font-size:.95rem;padding:0 10px}.upload-area{border-style:solid;background:#fff;border-color:var(--border-color)}.preview-actions{flex-direction:column;gap:12px}.preview-actions button{width:100%}.btn-camera-trigger{width:100%;padding:18px;font-size:1rem}}.competitor-data{background:var(--bg-white);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:relative;overflow:hidden;animation:var(--slide-up);animation-delay:.35s;animation-fill-mode:both}.competitor-data:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--wine-burgundy),var(--gold-rich))}.competitor-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);animation:var(--slide-up);animation-delay:.4s;animation-fill-mode:both}.competitor-card h3{font-size:1.25rem;color:var(--wine-rich);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px}.competitor-list{display:flex;flex-direction:column;gap:20px}.competitor-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--parchment);border-radius:var(--radius);border:1px solid transparent;transition:all var(--transition-base)}.competitor-item:hover{border-color:var(--gold-rich);background:var(--bg-white);box-shadow:var(--shadow-sm)}.summary-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.summary-value{font-size:1.15rem;font-weight:700;color:var(--text-dark);font-family:Cormorant Garamond,Georgia,serif}.competitors-list h4{font-size:.95rem;color:var(--text-muted);margin-bottom:16px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.competitors-header{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 16px;background:var(--wine-deep);border-radius:var(--radius);font-weight:600;font-size:.8rem;color:#ffffffd9;text-transform:uppercase;letter-spacing:.08em}.competitor-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;border-bottom:1px solid var(--border-color);align-items:center;transition:all var(--transition-fast);border-radius:var(--radius-xs)}.competitor-row:hover{background:var(--parchment)}.competitor-row:last-child{border-bottom:none}.competitor-seller{font-weight:500;color:var(--text-dark);font-size:.95rem}.competitor-price{font-weight:700;color:var(--wine-burgundy);font-size:1.1rem;font-family:Cormorant Garamond,Georgia,serif}.competitor-availability{padding:6px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;text-align:center;display:inline-block}.competitor-availability.in-stock{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.competitor-availability.out-of-stock{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.competitor-availability.limited{background:linear-gradient(135deg,#fff3cd,#ffe8a1);color:#856404}.competitor-rating{font-size:.9rem;color:var(--text-dark);display:flex;align-items:center;gap:4px}.competitor-rating small{color:var(--text-muted);margin-left:2px;font-size:.75rem}.last-updated{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color);text-align:right;color:var(--text-muted);font-size:.8rem;font-style:italic}.competitor-loading{display:flex;align-items:center;justify-content:center;gap:14px;padding:40px;color:var(--text-muted);font-size:.95rem}.spinner-small{width:22px;height:22px;border:2px solid var(--border-color);border-top-color:var(--wine-burgundy);border-radius:50%;animation:spin 1s linear infinite}.competitor-error{padding:20px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid rgba(239,68,68,.4);border-radius:var(--radius);color:#991b1b;text-align:center;font-size:.95rem}@media (max-width: 768px){.competitor-data{padding:0;background:transparent;box-shadow:none;border:none;border-radius:0}.competitor-data:before{display:none}.competitor-data h3{font-size:1.1rem;font-family:Cormorant Garamond,serif;color:var(--wine-rich);margin-bottom:24px;padding-left:16px;text-transform:uppercase;letter-spacing:.05em}.market-summary{display:flex;flex-direction:column;gap:16px;padding:0 16px;margin-bottom:40px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.05)}.summary-item:last-child{border-bottom:none}.summary-label{font-size:.8rem;color:var(--text-muted);font-family:Inter,sans-serif;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.summary-value{font-size:1.25rem;color:var(--text-dark)}.summary-item:first-child .summary-value{font-size:2rem;color:var(--wine-rich);font-weight:700}.competitors-list{padding:0 16px}.competitors-list h4{font-size:.9rem;font-family:Inter,sans-serif;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;padding-bottom:8px;border-bottom:2px solid var(--wine-rich);display:inline-block}.competitors-header{display:none}.competitor-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.08);gap:12px;background:transparent;border-radius:0}.competitor-row:hover{background:transparent}.competitor-seller{font-size:1.1rem;font-family:Cormorant Garamond,serif;font-weight:600;color:var(--text-dark);width:auto;order:1}.competitor-price{font-size:1.4rem;font-family:Cormorant Garamond,serif;color:var(--wine-rich);font-weight:700;order:2;margin-left:auto}.competitor-availability{order:3;width:100%;margin-top:4px;font-size:.75rem;padding:0;background:none!important;color:var(--text-muted)!important;text-align:left;font-weight:500;display:flex;align-items:center;gap:6px}.competitor-availability:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.competitor-availability.in-stock:before{background-color:#2e7d32}.competitor-availability.out-of-stock:before{background-color:#c62828}.competitor-availability.limited:before{background-color:#f9a825}.competitor-rating{order:4;width:100%;margin-top:2px;font-size:.8rem;color:var(--text-light)}.last-updated{text-align:center;margin-top:40px;padding:20px;background:var(--bg-surface);margin-left:-16px;margin-right:-16px;border-top:1px solid rgba(0,0,0,.05)}}.results{max-width:1240px;margin:0 auto;animation:var(--fade-in)}.results-header{text-align:center;margin-bottom:48px;position:relative;padding:20px;overflow:visible;animation:var(--slide-up)}.vintage-watermark{font-size:clamp(6rem,20vw,10rem);font-family:Cormorant Garamond,serif;font-weight:700;color:var(--text-dark);opacity:.12;line-height:.8;margin-bottom:-.5em;z-index:0;-webkit-user-select:none;user-select:none}.luxury-title-group{display:flex;flex-direction:column;align-items:center;justify-content:center}.results-header h2{font-size:clamp(2.5rem,6vw,4rem);color:var(--text-dark);margin:0;font-weight:500;font-family:Cormorant Garamond,Georgia,serif;line-height:1.1;letter-spacing:-.01em;position:relative;z-index:1}.wine-appellation{font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:12px;opacity:.9;position:relative;z-index:1}.wine-domain{font-size:1.2rem;color:var(--wine-rich);font-family:Cormorant Garamond,Georgia,serif;font-style:italic;margin-top:8px;position:relative;z-index:1}.results-grid{display:grid;gap:28px}.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:8px}.gallery-item{background:var(--bg-white);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-md);text-align:center;border:1px solid var(--border-color);transition:all var(--transition-base);position:relative;overflow:hidden;animation:var(--slide-up);animation-fill-mode:both}.gallery-item:nth-child(1){animation-delay:.05s}.gallery-item:nth-child(2){animation-delay:.1s}.gallery-item:nth-child(3){animation-delay:.15s}.gallery-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.gallery-item h3{font-size:.95rem;font-weight:600;color:var(--text-dark);margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;gap:8px}.gallery-item img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--transition-slow)}.image-preview-button{border:none;padding:0;margin:0;background:transparent;width:100%;cursor:zoom-in;border-radius:var(--radius);overflow:hidden}.image-preview-button:focus-visible{outline:2px solid var(--gold-rich);outline-offset:4px}.image-preview-button:hover img{transform:scale(1.03)}.image-placeholder{width:100%;height:280px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--parchment) 0%,var(--cream) 100%);border-radius:var(--radius);color:var(--text-muted);font-style:italic;position:relative;overflow:hidden}.image-placeholder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.wine-details{display:grid;gap:24px}.detail-card{background:var(--bg-white);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:relative;overflow:hidden;animation:var(--slide-up);animation-fill-mode:both}.detail-card:nth-child(1){animation-delay:.2s}.detail-card:nth-child(2){animation-delay:.25s}.detail-card:nth-child(3){animation-delay:.3s}.detail-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--wine-rich)}.detail-card h3{font-size:1.25rem;color:var(--wine-rich);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.05em;font-family:Inter,sans-serif;font-weight:600;font-size:.85rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.info-item{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-bottom:1px solid var(--border-color);background:transparent;border-radius:0;transition:transform var(--transition-fast)}.info-item:last-child{border-bottom:none}.info-item:hover{background:transparent;transform:translate(4px)}.info-item .label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.info-item .value{font-size:1.1rem;color:var(--text-dark);font-weight:400;font-family:Cormorant Garamond,Georgia,serif}.info-item .price{color:var(--wine-rich);font-weight:600;font-size:1.4rem;font-family:Cormorant Garamond,Georgia,serif}.pairing-card{background:var(--parchment);border:1px solid var(--border-color)}.pairing-card:before{background:var(--wine-rich)}.pairing-text{font-size:1.1rem;line-height:1.9;color:var(--text-dark);font-family:Cormorant Garamond,Georgia,serif}.description-section{margin-bottom:24px;padding:20px;background:var(--parchment);border-radius:var(--radius);transition:all var(--transition-fast)}.description-section:hover{background:var(--cream)}.description-section:last-child{margin-bottom:0}.description-section h4{font-size:.95rem;color:var(--wine-burgundy);margin-bottom:12px;display:flex;align-items:center;gap:10px;font-weight:600}.description-section p{color:var(--text-dark);line-height:1.8;font-size:.95rem}.results-actions{margin-top:40px;text-align:center;animation:var(--slide-up);animation-delay:.35s;animation-fill-mode:both}.results-actions .btn{padding:18px 48px;font-size:1.05rem}.image-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1614eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:32px;z-index:1000;animation:var(--fade-in)}.image-modal-content{position:relative;max-width:min(1100px,94vw);max-height:90vh;width:100%;background:var(--bg-white);border-radius:var(--radius-xl);padding:28px;text-align:center;box-shadow:var(--shadow-xl);animation:var(--scale-in)}.image-modal-content h3{margin-bottom:18px;color:var(--text-dark);font-size:1.2rem}.image-modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:none;border-radius:50%;background:var(--parchment);color:var(--text-dark);font-size:26px;line-height:1;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.image-modal-close:hover{background:var(--wine-burgundy);color:#fff;transform:rotate(90deg)}.image-modal-preview{width:100%;max-height:calc(90vh - 120px);object-fit:contain;border-radius:var(--radius)}@media (max-width: 1024px){.image-gallery{grid-template-columns:repeat(2,1fr)}.gallery-item:last-child{grid-column:span 2}}@media (max-width: 768px){.results-header{margin-bottom:28px}.image-gallery{grid-template-columns:1fr}.gallery-item:last-child{grid-column:span 1}.gallery-item{padding:20px}.gallery-item img,.image-placeholder{height:240px}.info-grid{grid-template-columns:1fr 1fr;gap:12px}.detail-card{padding:24px;border-radius:var(--radius-lg)}.description-section{padding:16px}.results-actions .btn{width:100%;padding:16px 32px}.image-modal-content{padding:20px}}@media (max-width: 480px){.results{padding-bottom:40px}.results-header{padding:0 20px;margin-bottom:24px}.wine-domain{font-size:1.1rem}.results-grid{gap:0}.image-gallery{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px;margin-bottom:32px}.gallery-item{border-radius:var(--radius);padding:0;border:none;box-shadow:none;background:transparent}.gallery-item h3{display:none}.gallery-item img,.image-placeholder{height:auto;aspect-ratio:2/3;width:100%;object-fit:cover;box-shadow:var(--shadow-sm);border-radius:var(--radius-sm)}.detail-card{border-radius:0;border:none;border-top:1px solid var(--border-color);box-shadow:none;padding:32px 20px;background:var(--bg-white)}.detail-card:before{display:none}.detail-card h3{font-size:.9rem;letter-spacing:.1em;color:var(--text-muted);border-bottom:none;margin-bottom:16px;padding-bottom:0}.info-grid{grid-template-columns:1fr;gap:0}.info-item{padding:12px 0;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.05)}.info-item .value{text-align:right}.description-section{border-radius:0;margin:0;padding:32px 20px;border-top:1px solid var(--border-color);background:var(--parchment)}.results-actions{padding:20px}.results-actions .btn{width:100%;padding:18px;font-size:1rem}.image-modal-content{border-radius:var(--radius-lg);padding:16px;width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;justify-content:center}.image-modal-close{top:20px;right:20px;background:#fff;box-shadow:var(--shadow-md)}}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#0000000f,#0000001a,#0000000f);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:10px}.skeleton-line:last-child{margin-bottom:0}.skeleton-title{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0}.skeleton-title .skeleton-line{height:20px}.skeleton-title .skeleton-line:first-child{height:28px}.skeleton-block{display:flex;flex-direction:column;gap:8px;padding:12px 0}.placeholder-spinner{width:32px;height:32px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--wine-rich);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.image-placeholder.shimmer{flex-direction:column;gap:8px}.image-placeholder.shimmer span{position:relative;z-index:1;font-size:.85rem}.stream-fade-in{animation:streamIn .5s ease-out both}@keyframes streamIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app{min-height:100vh;display:flex;flex-direction:column;animation:var(--fade-in)}.app-header{position:relative;background:var(--wine-deep);color:#fff;padding:48px 24px 64px;text-align:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.15)}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 0%,rgba(93,18,29,.8) 0%,transparent 70%);pointer-events:none}.app-header:after{display:none}.logo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin-bottom:20px;animation:var(--slide-up)}.logo-icon{width:48px;height:48px;filter:drop-shadow(0 0 15px rgba(255,255,255,.2));animation:float 6s ease-in-out infinite;flex-shrink:0}.app-header h1{font-size:clamp(3rem,10vw,5.5rem);font-family:Cormorant Garamond,serif;font-weight:300;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#fff,#d0d0d0,#a0a0a0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;line-height:1}.tagline{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:400;color:#fff9;letter-spacing:.25em;text-transform:uppercase;margin:4px auto 0;animation:var(--slide-up);animation-delay:.2s;animation-fill-mode:both}@media (min-width: 768px){.logo{gap:24px}.logo-icon{width:64px;height:64px}.tagline{flex-direction:row;gap:8px;font-size:.75rem}}.app-main{flex:1;padding:64px 24px;max-width:1200px;margin:0 auto;width:100%}.app-footer{position:relative;background:var(--wine-deep);color:var(--stone);text-align:center;padding:40px 24px;font-size:.85rem;font-family:Inter,sans-serif;letter-spacing:.05em;border-top:1px solid rgba(255,255,255,.05)}.app-footer:before{display:none}.app-footer p{opacity:.6;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}.app-footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);transition:all .3s ease}.app-footer a:hover{color:#fff;border-bottom-color:#fff}.error-message{position:relative;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid rgba(239,68,68,.4);border-left:4px solid #DC2626;color:#991b1b;padding:18px 24px;border-radius:var(--radius);margin-bottom:32px;display:flex;align-items:center;gap:14px;font-weight:500;box-shadow:var(--shadow-sm);animation:var(--slide-up)}.error-icon{font-size:22px;flex-shrink:0}.history-section{margin-top:40px;background:var(--bg-white);border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);animation:var(--slide-up);animation-delay:.2s;animation-fill-mode:both}.history-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.history-header h2{font-size:1.4rem;color:var(--text-dark);display:flex;align-items:center;gap:10px}.history-header h2:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--wine-burgundy),var(--gold-rich));border-radius:var(--radius-full)}.history-clear{padding:10px 18px;font-size:.875rem}.history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.history-card{display:grid;grid-template-columns:80px 1fr;gap:14px;border:1px solid var(--border-color);border-radius:var(--radius);background:linear-gradient(135deg,var(--bg-white) 0%,var(--parchment) 100%);cursor:pointer;padding:12px;text-align:left;transition:all var(--transition-base);position:relative;overflow:hidden}.history-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--wine-burgundy),transparent);opacity:0;transition:opacity var(--transition-base)}.history-card:hover{border-color:var(--gold-rich);box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-card:hover:before{opacity:1}.history-card img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.history-card-content{display:flex;flex-direction:column;gap:6px;min-width:0;justify-content:center}.history-card-content strong{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-card-content span,.history-card-content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.history-card-content span{color:var(--text-muted)}.history-card-content small{color:var(--stone);font-size:.8rem}@media (max-width: 768px){.app-header{padding:40px 20px 56px}.logo{gap:12px}.logo-icon{font-size:36px}.tagline{font-size:1rem}.app-main{padding:32px 16px}.history-section{padding:20px;margin-top:32px}.history-header{flex-direction:column;align-items:stretch;gap:12px}.history-header h2{font-size:1.2rem}.history-clear{width:100%}.history-list{grid-template-columns:1fr}.history-card{grid-template-columns:72px 1fr}.history-card img{width:72px;height:72px}}@media (max-width: 480px){.app-header{padding:24px 16px 40px}.logo-icon{font-size:32px}.app-header h1{font-size:1.8rem}.app-main{padding:0;max-width:100%}.history-section{border-radius:0;border-left:none;border-right:none;box-shadow:none;margin-top:0;padding:24px 16px;background:var(--bg-white)}.history-card{border:none;border-bottom:1px solid var(--border-color);background:transparent;padding:12px 0;border-radius:0}.history-card:last-child{border-bottom:none}.history-card:hover{transform:none;box-shadow:none;background:transparent}}*{margin:0;padding:0;box-sizing:border-box}:root{--wine-deep: #2A050A;--wine-rich: #420C14;--wine-burgundy: #5D121D;--wine-rose: #8A2535;--gold-deep: #8E8E93;--gold-rich: #B0B0B5;--gold-light: #E5E4E2;--gold-shimmer: #F5F5F7;--cream: #F9F9FB;--parchment: #F2F2F5;--ivory: #FFFFFF;--stone: #8E8E93;--charcoal: #1D1D1F;--obsidian: #000000;--primary-color: var(--wine-rich);--primary-light: var(--wine-burgundy);--primary-dark: var(--wine-deep);--secondary-color: var(--gold-light);--accent-color: var(--gold-rich);--text-dark: var(--charcoal);--text-light: var(--stone);--text-muted: #86868B;--bg-light: var(--cream);--bg-white: #FFFFFF;--bg-elevated: rgba(255, 255, 255, .85);--border-color: #E5E5EA;--border-subtle: rgba(66, 12, 20, .1);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .05);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .12);--shadow-xl: 0 24px 60px rgba(0, 0, 0, .15);--shadow-gold: 0 4px 20px rgba(176, 176, 181, .4);--shadow-wine: 0 8px 30px rgba(66, 12, 20, .25);--radius-xs: 2px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--fade-in: fadeIn .5s ease-out;--slide-up: slideUp .6s cubic-bezier(.4, 0, .2, 1);--scale-in: scaleIn .3s cubic-bezier(.4, 0, .2, 1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-gold{0%,to{box-shadow:0 0 #c9a96266}50%{box-shadow:0 0 0 12px #c9a96200}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wine-pour{0%{clip-path:inset(100% 0 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--cream);color:var(--text-dark);min-height:100vh;line-height:1.65;background-image:radial-gradient(ellipse at 20% 0%,rgba(114,47,55,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(201,169,98,.05) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem)}h4{font-size:1.125rem;font-weight:500}p{font-size:1rem;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;font-family:DM Sans,sans-serif;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-base);text-decoration:none;position:relative;overflow:hidden;letter-spacing:.01em}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%,rgba(0,0,0,.05) 100%);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:before{opacity:1}.btn-primary{background:linear-gradient(145deg,var(--wine-burgundy) 0%,var(--wine-rich) 100%);color:#fff;box-shadow:var(--shadow-md),inset 0 1px #ffffff1a}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),inset 0 1px #ffffff26}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.btn-secondary{background:var(--bg-white);color:var(--text-dark);border:1.5px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--parchment);border-color:var(--gold-rich);color:var(--wine-rich);box-shadow:var(--shadow-sm)}.btn-gold{background:linear-gradient(145deg,var(--gold-rich) 0%,var(--gold-deep) 100%);color:var(--obsidian);box-shadow:var(--shadow-gold)}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 32px #c9a96259,inset 0 1px #ffffff40}.animate-fade-in{animation:var(--fade-in)}.animate-slide-up{animation:var(--slide-up)}.animate-scale-in{animation:var(--scale-in)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.glass{background:var(--bg-elevated);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--parchment)}::-webkit-scrollbar-thumb{background:var(--stone);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--charcoal)}::selection{background:#722f3726;color:var(--wine-deep)}:focus-visible{outline:2px solid var(--gold-rich);outline-offset:2px}
