*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6b46c1;--primary-dark:#553c9a;--primary-light:#8b5cf6;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--light:#f3f4f6;--dark:#1f2937;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827}body{color:#1f2937;color:var(--dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden}.error-boundary,body{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.error-boundary{align-items:center;display:flex;justify-content:center;padding:2rem}.error-boundary-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:3rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.error-boundary h1{color:#ef4444;color:var(--danger);font-size:1.75rem;margin-bottom:1rem}.error-boundary p{color:#4b5563;color:var(--gray-600);font-size:1rem;margin-bottom:2rem}.error-details{background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;margin:1.5rem 0;padding:1rem;text-align:left}.error-details summary{color:#6b46c1;color:var(--primary);cursor:pointer;font-weight:600;margin-bottom:.5rem}.error-stack{background:#111827;background:var(--gray-900);border-radius:4px;color:#0f0;font-size:.875rem;margin-top:.5rem;overflow-x:auto;padding:1rem}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.app-container{background:#fff;min-height:100vh;position:relative}.container{margin:0 auto;max-width:1200px;padding:20px}.hero{background:linear-gradient(135deg,#6b46c1,#553c9a);color:#fff;margin-bottom:30px;padding:50px 20px;text-align:center}.hero:before{animation:float 20s ease-in-out infinite;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="url(%23grad)" opacity=".6"><animate attributeName="cy" values="20;80;20" dur="4s" repeatCount="indefinite"/></circle><circle cx="80" cy="40" r="1" fill="url(%23grad)" opacity=".4"><animate attributeName="cy" values="40;90;40" dur="6s" repeatCount="indefinite"/></circle><circle cx="60" cy="60" r="1.5" fill="url(%23grad)" opacity=".5"><animate attributeName="cy" values="60;10;60" dur="5s" repeatCount="indefinite"/></circle></svg>') repeat;opacity:.3}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(180deg)}}.hero h1{animation:slideDown .8s ease-out;font-size:2.8rem;margin-bottom:15px;text-shadow:2px 2px 4px #0000004d}.hero h1,.hero p{position:relative;z-index:2}.hero p{animation:slideUp .8s ease-out .2s both;font-size:1.3rem;opacity:.95}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.hero-content{position:relative;z-index:2}.hero-subtitle{animation:slideUp .8s ease-out .4s both;font-size:1.1rem;font-weight:300;margin:15px 0 25px;opacity:.9}.trust-indicators{animation:fadeIn 1s ease-out .4s both;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-top:25px;position:relative;z-index:2}.trust-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;display:flex;font-size:.95rem;gap:8px;padding:8px 16px;transition:all .3s ease}.trust-indicator:hover{background:#fff3;transform:translateY(-2px)}.personalization-banner{animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#3b82f6,#6b46c1);border-radius:16px;color:#fff;margin-bottom:30px;padding:20px 25px}.personalization-banner:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000 40%,#ffffff1a 50%,#0000 60%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:100%}.personalization-content{align-items:center;display:flex;gap:15px;z-index:2}.personalization-icon{font-size:2rem;opacity:.9}.personalization-text h3{font-size:1.2rem;margin-bottom:5px}.personalization-text p{font-size:.95rem;opacity:.9}.activity-counter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;font-size:.9rem;margin-left:auto;padding:8px 16px}.activity-feed{animation:fadeIn .5s ease-out;background:#f9fafb;background:var(--gray-50);border-radius:12px;margin-bottom:25px;padding:20px}.activity-item{align-items:center;animation:slideInLeft .3s ease-out;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:12px;padding:10px 0}.activity-item:last-child{border-bottom:none}.activity-avatar{align-items:center;background:#6b46c1;background:var(--primary);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}.activity-text{color:#374151;color:var(--gray-700);flex:1 1;font-size:14px}.activity-time{color:#6b7280;color:var(--gray-500);font-size:12px}.trending-indicator{background:#ef4444;background:var(--danger);border-radius:8px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px}.smart-recommendations{animation:fadeInUp .6s ease-out;background:#fff;border:2px solid #f3f4f6;border:2px solid var(--gray-100);border-radius:16px;box-shadow:0 2px 12px #00000014;margin-bottom:30px;padding:25px}.smart-recommendations h3{align-items:center;color:#6b46c1;color:var(--primary);display:flex;font-size:1.4rem;gap:10px;margin-bottom:20px}.recommendation-section{margin-bottom:25px}.recommendation-section:last-child{margin-bottom:0}.recommendation-title{align-items:center;color:#1f2937;color:var(--gray-800);display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin-bottom:15px}.recommendation-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.recommendation-card{background:#f9fafb;background:var(--gray-50);border:2px solid #0000;border-radius:12px;overflow:hidden;padding:15px;transition:all .3s ease}.recommendation-card:before{background:linear-gradient(90deg,#0000,#6b46c11a,#0000);height:100%;left:-100%;transition:left .5s ease;width:100%}.recommendation-card:hover:before{left:100%}.recommendation-card:hover{border-color:#6b46c1;border-color:var(--primary);box-shadow:0 8px 20px #6b46c126;transform:translateY(-2px)}.recommendation-reason{color:#3b82f6;color:var(--info);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.recommendation-name{color:#1f2937;color:var(--gray-800);font-weight:600;margin-bottom:5px}.recommendation-match{color:#4b5563;color:var(--gray-600);font-size:13px}.toast-container{display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;top:20px;z-index:10000}.toast{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;min-width:300px;padding:16px 20px}.toast.success{border-left:4px solid #10b981;border-left:4px solid var(--success)}.toast.info{border-left:4px solid #3b82f6;border-left:4px solid var(--info)}.toast.warning{border-left:4px solid #f59e0b;border-left:4px solid var(--warning)}.toast:after{animation:shrink 3s linear;background:#6b46c1;background:var(--primary);bottom:0;content:"";height:2px;left:0;position:absolute}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes shrink{0%{width:100%}to{width:0}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.toast-icon{flex-shrink:0;font-size:20px}.toast-content{flex:1 1}.toast-title{font-weight:600;margin-bottom:2px}.toast-message{color:#4b5563;color:var(--gray-600);font-size:14px}.search-container{flex:1 1;min-width:280px}.search-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0z'/%3E%3C/svg%3E");background-position:12px;background-repeat:no-repeat;background-size:20px;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:8px;font-size:16px;padding:12px 16px 12px 44px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#6b46c1;border-color:var(--primary);box-shadow:0 0 0 3px #6b46c11a;outline:none}.search-suggestions{animation:slideDown .2s ease-out;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f9fafb;background-color:var(--gray-50)}.suggestion-item.active{background-color:#6b46c1;background-color:var(--primary);color:#fff}.suggestion-icon{font-size:16px;opacity:.7}.suggestion-text{flex:1 1}.suggestion-category{font-size:12px;letter-spacing:.5px;opacity:.6;text-transform:uppercase}.active-filters{animation:fadeIn .3s ease-out;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-badge{align-items:center;animation:slideIn .3s ease-out;background:#6b46c1;background:var(--primary);border-radius:16px;color:#fff;display:flex;font-size:14px;gap:6px;padding:6px 12px}.filter-badge-remove{cursor:pointer;font-size:16px;opacity:.8;transition:opacity .2s ease}.filter-badge-remove:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.quick-recs{animation:fadeInUp .6s ease-out;background:#f9fafb;background:var(--gray-50);border-radius:16px;margin-bottom:30px;padding:30px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.quick-recs h2{color:#6b46c1;color:var(--primary);font-size:1.6rem;margin-bottom:20px;text-align:center}.quick-buttons{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-btn{border:2px solid #0000;border-radius:12px;cursor:pointer;font-size:1rem;padding:20px;text-align:left;transition:all .3s cubic-bezier(.4,0,.2,1)}.quick-btn:before{background:linear-gradient(90deg,#0000,#6b46c11a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.quick-btn:hover:before{left:100%}.quick-btn:hover{border-color:#6b46c1;box-shadow:0 8px 25px #6b46c126;transform:translateY(-4px)}.quick-btn.active{background:#6b46c1;background:var(--primary);box-shadow:0 6px 20px #6b46c14d;color:#fff;transform:translateY(-2px)}.quick-btn .emoji{font-size:1.5rem;margin-right:12px;transition:transform .3s ease}.quick-btn:hover .emoji{transform:scale(1.2) rotate(5deg)}.quick-btn .label{font-weight:600;margin-bottom:4px}.quick-btn .desc{font-size:.9rem;opacity:.8}.gift-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:40px}.gift-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;transform-origin:center}.gift-card:before{background:linear-gradient(45deg,#0000 30%,#6b46c10d 50%,#0000 70%);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.gift-card:hover:before{opacity:1}.gift-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-8px) scale(1.02)}.gift-card img{height:200px;object-fit:cover;transition:transform .4s ease;width:100%}.gift-card:hover img{transform:scale(1.05)}.gift-badge{animation:pulse 2s infinite;background:#10b981;background:var(--success);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;position:absolute;right:12px;top:12px}.gift-badge.hot{animation:pulse 1s infinite,glow 2s infinite;background:#ef4444;background:var(--danger)}.gift-badge.trending{animation:pulse 1.5s infinite;background:#f59e0b;background:var(--warning)}.gift-badge.ai-recommended{animation:pulse 2s infinite,shimmerBadge 3s infinite;background:#3b82f6;background:var(--info)}@keyframes glow{0%,to{box-shadow:0 0 5px #ef444480}50%{box-shadow:0 0 20px #ef4444cc}}@keyframes shimmerBadge{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 15px #3b82f6cc}}.gift-card-content{padding:18px}.gift-card h3{color:#1f2937;color:var(--dark);font-size:1.15rem;margin-bottom:8px}.price-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.price{color:#6b46c1;color:var(--primary);font-size:1.4rem;font-weight:700}.delivery{color:#6b7280;color:var(--gray-500);font-size:.85rem}.rating-row{align-items:center;display:flex;gap:12px;margin-bottom:10px}.hearts{display:flex;gap:2px}.success-text{color:#4b5563;color:var(--gray-600);font-size:.9rem}.testimonial-preview{border-left:3px solid #6b46c1;border-left:3px solid var(--primary);color:#6b7280;color:var(--gray-500);font-size:.85rem;font-style:italic;margin-top:10px;padding-left:10px}.ai-insight{background:linear-gradient(135deg,#3b82f6,#6b46c1);background:linear-gradient(135deg,var(--info) 0,var(--primary) 100%);border-radius:8px;font-size:.8rem;margin-top:8px;opacity:.9;padding:8px 12px}.filters{align-items:center;animation:fadeIn .4s ease-out .2s both;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.filters input:not(.search-input),.filters select{background:#fff;border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:8px;font-size:16px;min-width:150px;padding:12px 16px;transition:all .3s ease}.filters input:focus,.filters select:focus{border-color:#6b46c1;border-color:var(--primary);box-shadow:0 0 0 3px #6b46c11a;outline:none}.clear-filters{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:8px;color:#374151;color:var(--gray-700);cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .3s ease}.clear-filters:hover{background:#e5e7eb;background:var(--gray-200);transform:translateY(-1px)}.results-summary{align-items:center;animation:slideIn .4s ease-out;background:#f9fafb;background:var(--gray-50);border:2px solid #0000;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:25px;padding:20px;transition:all .3s ease}.results-summary:hover{border-color:#6b46c1;border-color:var(--primary);box-shadow:0 4px 12px #6b46c11a}.results-info{display:flex;flex-direction:column;gap:8px}.search-context{color:#6b46c1;color:var(--primary);font-weight:600}.filter-status{align-items:center;color:#4b5563;color:var(--gray-600);display:flex;font-size:14px;gap:8px}.filter-indicator{font-size:12px}.sort-section{align-items:center;display:flex;gap:16px}.sort-label{color:#374151;color:var(--gray-700);font-size:14px;font-weight:600}.results-count{color:#1f2937;color:var(--gray-800);font-size:1.2rem;font-weight:600}.sort-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:6px;display:flex;font-size:13px;gap:6px;padding:8px 12px;transition:all .3s ease;white-space:nowrap}.sort-icon{font-size:12px}.sort-text{display:none}@media (min-width:768px){.sort-text{display:inline}.sort-btn{font-size:14px;padding:8px 16px}}.sort-btn.active{background:#6b46c1;background:var(--primary);color:#fff}.sort-btn.active,.sort-btn:hover:not(.active){border-color:#6b46c1;border-color:var(--primary)}.sort-btn:hover:not(.active){color:#6b46c1;color:var(--primary)}.empty-state{animation:fadeIn .6s ease-out;padding:80px 20px;text-align:center}.empty-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:20px;opacity:.6}.empty-title{color:#374151;color:var(--gray-700);font-size:1.5rem;margin-bottom:12px}.empty-message{color:#6b7280;color:var(--gray-500);margin-bottom:24px;margin-left:auto;margin-right:auto;max-width:400px}.empty-suggestions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.suggestion-chip{background:#f3f4f6;background:var(--gray-100);border-radius:20px;color:#374151;color:var(--gray-700);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.suggestion-chip:hover{background:#6b46c1;background:var(--primary);color:#fff;transform:translateY(-2px)}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%}.skeleton-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;overflow:hidden}.skeleton-image{height:200px;width:100%}.skeleton-content{padding:18px}.skeleton-title{border-radius:4px;height:20px;margin-bottom:12px}.skeleton-price{border-radius:4px;height:16px;margin-bottom:8px;width:80px}.skeleton-rating{border-radius:4px;height:14px;width:120px}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.detail-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:100%}.close-btn{background:#f3f4f6;background:var(--gray-100);color:#4b5563;color:var(--gray-600);transition:all .3s ease;z-index:10}.close-btn:hover{background:#e5e7eb;background:var(--gray-200);color:var(--gray-800)}.detail-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;padding:30px}.detail-image{aspect-ratio:1;border-radius:12px;object-fit:cover;width:100%}.detail-info h2{color:#1f2937;color:var(--gray-800);font-size:1.8rem;margin-bottom:16px}.detail-price{color:#6b46c1;color:var(--primary);font-size:2rem;font-weight:700;margin-bottom:20px}.detail-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-box{background:#f9fafb;background:var(--gray-50);border-radius:12px;padding:16px;text-align:center}.stat-label{font-size:.9rem;margin-bottom:4px}.stat-value{color:#6b46c1;color:var(--primary);font-size:1.3rem;font-weight:600}.buy-section{display:flex;gap:12px;margin-bottom:24px}.buy-btn{border-radius:12px;flex:1 1;font-size:16px;padding:16px 24px}.buy-btn,.save-btn{transition:all .3s ease}.save-btn{background:#f3f4f6;background:var(--gray-100);border:none;border-radius:12px;color:#4b5563;color:var(--gray-600);cursor:pointer;padding:16px}.save-btn:hover{background:#e5e7eb;background:var(--gray-200);color:#1f2937;color:var(--gray-800)}.testimonials-section{grid-column:1/-1;margin-top:20px}.testimonials-section h3{color:#1f2937;color:var(--gray-800);font-size:1.4rem;margin-bottom:20px}.testimonial{background:#f9fafb;background:var(--gray-50);border-radius:12px;margin-bottom:16px;padding:20px}.testimonial-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.testimonial-author{color:#1f2937;color:var(--gray-800);font-weight:600}.testimonial-rating{color:#f59e0b;color:var(--warning)}.testimonial-text{color:#374151;color:var(--gray-700);font-style:italic;line-height:1.6}@media (max-width:768px){.container{padding:12px}.hero{padding:40px 15px}.hero h1{font-size:2rem;line-height:1.2}.hero p{font-size:1.05rem;line-height:1.4}.trust-indicators{gap:12px;margin-top:20px}.trust-indicator{font-size:.85rem;padding:6px 12px}.personalization-banner{margin-bottom:20px;padding:16px 20px}.personalization-content{flex-direction:column;gap:12px;text-align:center}.personalization-icon{font-size:1.8rem}.personalization-text h3{font-size:1.1rem}.personalization-text p{font-size:.9rem}.activity-counter{font-size:.85rem;margin-left:0}.activity-feed{margin-bottom:20px;padding:16px}.activity-item{padding:8px 0}.activity-avatar{font-size:12px;height:28px;width:28px}.activity-text{font-size:13px}.activity-time{font-size:11px}.smart-recommendations{margin-bottom:20px;padding:20px}.smart-recommendations h3{font-size:1.2rem;margin-bottom:16px}.recommendation-section{margin-bottom:20px}.recommendation-title{font-size:1rem;margin-bottom:12px}.recommendation-grid{gap:12px;grid-template-columns:1fr}.recommendation-card{padding:12px;text-align:center}.recommendation-reason{font-size:11px}.recommendation-name{font-size:.95rem}.recommendation-match{font-size:12px}.quick-recs{margin-bottom:20px;padding:20px}.quick-recs h2{font-size:1.4rem;margin-bottom:16px}.quick-buttons{gap:12px;grid-template-columns:1fr}.quick-btn{padding:16px;text-align:center}.quick-btn .emoji{font-size:1.3rem;margin-right:8px}.quick-btn .label{font-size:.95rem}.quick-btn .desc{font-size:.85rem}.filters{gap:8px;margin-bottom:20px}.filters input:not(.search-input),.filters select{font-size:16px;min-width:100px;padding:14px 12px}.search-container{min-width:100%;order:-1}.search-input{font-size:16px;padding:14px 16px 14px 44px}.search-suggestions{margin-top:2px}.suggestion-item{font-size:15px;padding:14px 16px}.suggestion-icon{font-size:18px}.suggestion-category{font-size:11px}.clear-filters{font-size:15px;margin-top:8px;padding:14px 16px;width:100%}.active-filters{justify-content:center;margin-bottom:16px}.filter-badge{font-size:13px;padding:8px 12px}.results-summary{flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;text-align:center}.results-count{font-size:1.1rem}.sort-options{flex-wrap:wrap;gap:6px;justify-content:center}.sort-btn{font-size:13px;padding:10px 14px;white-space:nowrap}.gift-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:30px}.gift-card{border-radius:12px}.gift-card-content{padding:16px}.gift-card h3{font-size:1.1rem;line-height:1.3}.price{font-size:1.3rem}.success-text{font-size:.85rem}.testimonial-preview{font-size:.8rem;line-height:1.4}.ai-insight{font-size:.75rem;padding:6px 10px}.toast-container{left:10px;right:10px;top:10px}.toast{margin-bottom:8px;min-width:auto;width:100%}.toast-title{font-size:.95rem}.toast-message{font-size:13px}.empty-state{padding:60px 20px}.empty-icon{font-size:3rem;margin-bottom:16px}.empty-title{font-size:1.3rem;margin-bottom:10px}.empty-message{font-size:.95rem;margin-bottom:20px}.suggestion-chip{font-size:13px;padding:10px 14px}.skeleton-card{margin-bottom:16px}.skeleton-content{padding:16px}.modal-overlay{align-items:flex-start;padding:20px 10px 10px}.detail-modal{border-radius:12px;margin:0;max-height:calc(100vh - 40px)}.detail-content{gap:20px;grid-template-columns:1fr;padding:20px}.close-btn{font-size:20px;height:36px;right:15px;top:15px;width:36px}.detail-info h2{font-size:1.4rem;margin-bottom:12px}.detail-price{font-size:1.6rem;margin-bottom:16px}.detail-stats{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stat-box{padding:10px}.stat-label{font-size:.8rem}.stat-value{font-size:1.1rem}.buy-section{flex-direction:column;gap:8px;margin-bottom:20px}.buy-btn,.save-btn{border-radius:8px;font-size:16px;padding:14px}.testimonials-section h3{font-size:1.2rem;margin-bottom:16px}.testimonial{border-radius:10px;margin-bottom:12px;padding:16px}.testimonial-header{align-items:flex-start;flex-direction:column;gap:10px}}.categories-page{padding:2rem 0}.categories-header{margin-bottom:3rem;text-align:center}.categories-header h2{color:#1f2937;color:var(--dark);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.categories-header p{color:#4b5563;color:var(--gray-600);font-size:1.1rem;margin:0 auto;max-width:600px}.categories-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.category-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 4px 20px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.category-card:hover{border-color:#8b5cf6;border-color:var(--primary-light);box-shadow:0 12px 40px #00000026;transform:translateY(-8px)}.category-header{align-items:center;color:#fff;display:flex;gap:1rem;padding:2rem;position:relative}.category-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));font-size:3rem}.category-info h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.category-info p{font-size:1rem;line-height:1.4;opacity:.9}.category-stats{background:#f9fafb;background:var(--gray-50);display:flex;justify-content:space-between;padding:1.5rem 2rem}.stat{flex:1 1}.stat-number{color:#6b46c1;color:var(--primary);font-size:1.5rem}.category-preview{background:#fff;border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);padding:1rem 2rem}.price-range{color:#374151;color:var(--gray-700);font-size:.9rem;font-weight:600}.gift-detail-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.gift-detail-modal{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;position:relative;width:100%}.gift-detail-header{position:absolute;right:1rem;top:1rem;z-index:10}.close-btn{background:#ffffffe6;color:#374151;color:var(--gray-700)}.close-btn:hover{background:#fff;color:#1f2937;color:var(--dark);transform:scale(1.1)}.gift-detail-content{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.gift-detail-image{background:#f3f4f6;background:var(--gray-100);position:relative}.gift-detail-image img{border-radius:20px 0 0 20px;height:500px;object-fit:cover;width:100%}.gift-category-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:20px;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;left:1rem;padding:.5rem 1rem;position:absolute;text-transform:capitalize;top:1rem}.gift-detail-info{display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.gift-title-section{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.gift-title-section h1{color:#1f2937;color:var(--dark);flex:1 1;font-size:2rem;font-weight:700;line-height:1.2}.gift-price{color:#6b46c1;color:var(--primary);font-size:2rem;white-space:nowrap}.gift-stats{grid-gap:1rem;background:#f9fafb;background:var(--gray-50);border-radius:12px;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);padding:1.5rem}.stat-item{text-align:center}.stat-value{display:block;font-size:1.5rem;margin-bottom:.25rem}.stat-label{color:#4b5563;color:var(--gray-600);font-size:.875rem}.gift-description h3{color:#1f2937;color:var(--dark);font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.gift-description p{color:#374151;color:var(--gray-700);line-height:1.6}.ai-insight{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;gap:1rem;padding:1.5rem}.insight-icon{font-size:1.5rem}.insight-content h4{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.insight-content p{line-height:1.5;opacity:.9}.testimonial-preview{background:#f9fafb;background:var(--gray-50);border-left:4px solid #6b46c1;border-left:4px solid var(--primary);border-radius:12px;padding:1.5rem}.testimonial-preview h4{color:#1f2937;color:var(--dark);font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.testimonial-preview blockquote{color:#374151;color:var(--gray-700);font-style:italic;line-height:1.5}.gift-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 2fr}.favorite-btn{align-items:center;background:#fff;border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:8px;color:#374151;color:var(--gray-700);cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.favorite-btn:hover{border-color:#6b46c1;border-color:var(--primary);color:#6b46c1;color:var(--primary)}.favorite-btn.favorited{border-color:#6b46c1;border-color:var(--primary)}.buy-btn,.favorite-btn.favorited{background:#6b46c1;background:var(--primary);color:#fff}.buy-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.buy-btn:hover{background:#553c9a;background:var(--primary-dark);transform:translateY(-2px)}.retailer-info{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);color:#4b5563;color:var(--gray-600);font-size:.875rem;padding-top:1rem}.retailer-info p{margin-bottom:.5rem}@media (max-width:768px){.gift-detail-overlay{padding:1rem}.gift-detail-content{grid-template-columns:1fr}.gift-detail-image img{border-radius:20px 20px 0 0;height:300px}.gift-title-section{align-items:flex-start;flex-direction:column}.gift-stats{gap:.5rem;grid-template-columns:repeat(3,1fr);padding:1rem}.gift-actions{grid-template-columns:1fr}}.enhanced-button{overflow:hidden;position:relative;transform-style:preserve-3d;transition:all .2s cubic-bezier(.4,0,.2,1)}.enhanced-button:active{transform:translateY(1px) scale(.98)}.enhanced-button:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;transition:left .5s;width:100%}.enhanced-button:hover:before{left:100%}.gift-card{overflow:hidden;position:relative;transform-origin:center bottom;transition:all .4s cubic-bezier(.4,0,.2,1)}.gift-card:after{background:linear-gradient(135deg,#6b46c11a,#8b5cf60d);bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.gift-card:hover{box-shadow:0 20px 40px #0000001f,0 8px 16px #6b46c126,0 0 0 1px #6b46c11a;transform:translateY(-12px) scale(1.03)}.gift-card:hover:after{opacity:1}.gift-card:hover img{filter:brightness(1.05) contrast(1.02);transform:scale(1.08)}.loading-skeleton{animation:shimmer 1.8s linear infinite;background:linear-gradient(110deg,var(--gray-200) 8%,var(--gray-100) 18%,var(--gray-200) 33%);background-size:200% 100%;position:relative}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{animation:loading-bounce 1.4s ease-in-out infinite both;background:var(--primary);border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.search-container{position:relative;transition:all .3s ease}.search-container:before{background:linear-gradient(45deg,var(--primary),var(--primary-light));border-radius:10px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.search-container:focus-within:before{opacity:1}.search-input{background:#fff;border:2px solid #0000;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.search-input:focus{border-color:#0000;box-shadow:none;transform:translateY(-1px)}.search-suggestions{animation:suggestions-appear .3s cubic-bezier(.4,0,.2,1)}@keyframes suggestions-appear{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.suggestion-item{animation:suggestion-slide-in .3s ease-out forwards;opacity:0}.suggestion-item:first-child{animation-delay:.1s}.suggestion-item:nth-child(2){animation-delay:.15s}.suggestion-item:nth-child(3){animation-delay:.2s}.suggestion-item:nth-child(4){animation-delay:.25s}.suggestion-item:nth-child(5){animation-delay:.3s}@keyframes suggestion-slide-in{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.suggestion-item:hover{background:linear-gradient(90deg,var(--gray-50) 0,#6b46c10d 100%);transform:translateX(4px)}.search-highlight{animation:highlight-pulse 2s ease-in-out;background:linear-gradient(120deg,#ffeb3b4d,#ffc10733);border-radius:2px;font-weight:600;padding:1px 2px}@keyframes highlight-pulse{0%,to{background-opacity:.3}50%{background-opacity:.6}}.filter-toggle{align-items:center;background:#fff;border:2px solid var(--gray-200);border-radius:24px;cursor:pointer;display:inline-flex;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.filter-toggle:before{background:var(--primary);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:0}.filter-toggle.active:before{left:0}.filter-toggle.active{border-color:var(--primary);color:#fff;transform:scale(1.05)}.filter-toggle span{position:relative;transition:all .2s ease;z-index:1}.filter-toggle:hover:not(.active){border-color:var(--primary);box-shadow:0 4px 12px #6b46c126;transform:translateY(-2px)}.sort-options{background:var(--gray-50);border-radius:12px;display:flex;gap:8px;overflow:hidden;padding:8px;position:relative}.sort-btn{background:#0000;border:none;border-radius:8px;color:var(--gray-600);cursor:pointer;font-weight:500;padding:10px 16px;position:relative;transition:all .2s ease;z-index:1}.sort-options:before{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;content:"";height:calc(100% - 16px);left:8px;position:absolute;top:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:calc(25% - 8px);z-index:0}.sort-btn.active{color:var(--primary);font-weight:600}.sort-btn:nth-child(2).active~.sort-options:before{transform:translateX(100%)}.sort-btn:nth-child(3).active~.sort-options:before{transform:translateX(200%)}.sort-btn:nth-child(4).active~.sort-options:before{transform:translateX(300%)}.results-count{overflow:hidden;position:relative}.count-number{display:inline-block;transition:transform .3s cubic-bezier(.4,0,.2,1)}.count-number.updating{animation:count-update .6s cubic-bezier(.4,0,.2,1)}@keyframes count-update{0%{transform:translateY(0) scale(1)}50%{color:var(--primary);transform:translateY(-20px) scale(1.1)}to{transform:translateY(0) scale(1)}}.hero{background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);overflow:hidden;position:relative}.hero:before{animation:hero-ambient 20s ease-in-out infinite;background:radial-gradient(circle at 20% 30%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 70%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 60% 20%,#ffffff0d 0,#0000 30%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes hero-ambient{0%,to{opacity:.6;transform:scale(1) rotate(0deg)}33%{opacity:.8;transform:scale(1.1) rotate(120deg)}66%{opacity:.4;transform:scale(.9) rotate(240deg)}}.hero h1{-webkit-text-fill-color:#0000;animation:hero-text-shine 3s ease-in-out infinite;background:linear-gradient(45deg,#fff,#f0f8ff,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% 200%}@keyframes hero-text-shine{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.trust-indicator{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;position:relative}.trust-indicator:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .8s ease;width:100%}.trust-indicator:hover:before{left:100%}.activity-feed{overflow:hidden;position:relative}.activity-item{animation:activity-slide-in .6s ease-out forwards;opacity:0;transform:translateX(-50px)}.activity-item:first-child{animation-delay:.1s}.activity-item:nth-child(2){animation-delay:.2s}.activity-item:nth-child(3){animation-delay:.3s}@keyframes activity-slide-in{to{opacity:1;transform:translateX(0)}}.activity-avatar{overflow:hidden;position:relative}.activity-avatar:before{background:linear-gradient(45deg,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%);transition:transform .5s ease}.activity-item:hover .activity-avatar:before{transform:translateX(100%)}.trending-indicator{animation:trending-pulse 2s infinite;overflow:hidden;position:relative}@keyframes trending-pulse{0%,to{box-shadow:0 0 0 0 #ef444466;transform:scale(1)}50%{box-shadow:0 0 0 6px #ef444400;transform:scale(1.05)}}.personalization-banner{background:linear-gradient(135deg,var(--info) 0,var(--primary) 100%);overflow:hidden;position:relative}.personalization-banner:after{animation:banner-border-flow 4s ease-in-out infinite;background:linear-gradient(45deg,#ffffff1a,#ffffff0d,#ffffff1a);background-size:300% 300%;border-radius:inherit;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px;z-index:0}@keyframes banner-border-flow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.personalization-content{position:relative;z-index:1}.personalization-icon{animation:icon-float 3s ease-in-out infinite}@keyframes icon-float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(5deg)}}.activity-counter{overflow:hidden;position:relative}.activity-counter:before{animation:counter-shine 3s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes counter-shine{0%{left:-100%}to{left:100%}}.recommendation-card{cursor:pointer;position:relative;transform-origin:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.recommendation-card:before{background:linear-gradient(135deg,#6b46c10d,#8b5cf61a 50%,#6b46c10d);border-radius:inherit;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .3s ease}.recommendation-card:hover{box-shadow:0 12px 24px #6b46c126;transform:translateY(-4px) scale(1.02)}.recommendation-card:hover:before{opacity:1}.recommendation-reason{-webkit-text-fill-color:#0000;animation:reason-gradient-flow 3s ease-in-out infinite;background:linear-gradient(90deg,var(--info),var(--primary));-webkit-background-clip:text;background-clip:text;background-size:200% 100%;overflow:hidden;position:relative}@keyframes reason-gradient-flow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.filter-badge{animation:badge-pop-in .3s cubic-bezier(.68,-.55,.265,1.55) forwards;overflow:hidden;position:relative;transform:scale(0)}.filter-badge:first-child{animation-delay:.1s}.filter-badge:nth-child(2){animation-delay:.15s}.filter-badge:nth-child(3){animation-delay:.2s}.filter-badge:nth-child(4){animation-delay:.25s}@keyframes badge-pop-in{0%{opacity:0;transform:scale(0) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.filter-badge-remove{overflow:hidden;position:relative}.filter-badge-remove:before{background:#ffffff4d;border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:scale(0);transition:transform .2s ease}.filter-badge-remove:hover:before{transform:scale(1)}.toast{animation:toast-slide-in .4s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden;position:relative;transform:translateX(100%)}@keyframes toast-slide-in{to{transform:translateX(0)}}.toast.toast-exit{animation:toast-slide-out .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes toast-slide-out{to{opacity:0;transform:translateX(100%)}}.toast:before{animation:toast-shimmer 2s infinite;background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@keyframes toast-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.toast-icon{animation:icon-bounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes icon-bounce{0%{transform:scale(0) rotate(180deg)}to{transform:scale(1) rotate(0deg)}}.quick-btn{background:#fff;border:2px solid var(--gray-200);overflow:hidden;position:relative;transform-origin:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.quick-btn:after{background:linear-gradient(135deg,#6b46c11a,#8b5cf626 50%,#6b46c11a);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.quick-btn:hover{border-color:var(--primary);box-shadow:0 15px 30px #0000001a,0 5px 15px #6b46c133;transform:translateY(-6px) scale(1.03)}.quick-btn:hover:after{opacity:1}.quick-btn:active{transform:translateY(-2px) scale(.98)}.quick-btn .emoji{display:inline-block;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.quick-btn:hover .emoji{animation:emoji-wiggle .6s ease-in-out;transform:scale(1.3) rotate(10deg)}@keyframes emoji-wiggle{0%,to{transform:scale(1.3) rotate(10deg)}25%{transform:scale(1.4) rotate(-5deg)}75%{transform:scale(1.2) rotate(15deg)}}.empty-state{position:relative}.empty-icon{animation:empty-float 4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.suggestion-chip{animation:chip-appear .5s ease-out forwards;opacity:0;overflow:hidden;position:relative;transform:translateY(20px)}.suggestion-chip:first-child{animation-delay:.1s}.suggestion-chip:nth-child(2){animation-delay:.2s}.suggestion-chip:nth-child(3){animation-delay:.3s}@keyframes chip-appear{to{opacity:1;transform:translateY(0)}}.suggestion-chip:before{background:linear-gradient(90deg,#0000,var(--primary),#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.suggestion-chip:hover:before{left:100%}.modal-overlay{animation:overlay-appear .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes overlay-appear{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1}}.detail-modal{animation:modal-appear .4s cubic-bezier(.4,0,.2,1) forwards;opacity:0;transform:scale(.8) translateY(50px)}@keyframes modal-appear{to{opacity:1;transform:scale(1) translateY(0)}}.close-btn{overflow:hidden;position:relative}.close-btn:before{background:#ef44441a;border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:scale(0);transition:transform .2s ease}.close-btn:hover:before{transform:scale(1)}.close-btn:hover{color:var(--danger)}@media (max-width:768px){.gift-card:hover{transform:translateY(-6px) scale(1.02)}.quick-btn:hover{transform:translateY(-3px) scale(1.02)}.recommendation-card:hover{transform:translateY(-2px) scale(1.01)}.filter-toggle:hover:not(.active){transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important}.gift-card:hover,.quick-btn:hover,.recommendation-card:hover{transform:none}}.gift-card:focus,.quick-btn:focus,.recommendation-card:focus{outline:3px solid #6b46c180;outline-offset:2px}@media (prefers-contrast:high){.gift-card,.quick-btn,.recommendation-card{border-style:solid;border-width:2px}.loading-skeleton{background:repeating-linear-gradient(90deg,var(--gray-300),var(--gray-300) 10px,var(--gray-400) 10px,var(--gray-400) 20px)}}.detail-modal,.filter-toggle,.gift-card,.modal-overlay,.quick-btn,.recommendation-card,.toast{will-change:transform}@media (-webkit-max-device-pixel-ratio:1.5625),(max-resolution:150dpi){.hero:before,.personalization-banner:after{animation:none}.loading-skeleton{animation-duration:2.5s}}.gift-grid.loading{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.skeleton-gift-card{animation:skeleton-appear .6s ease-out;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;overflow:hidden}@keyframes skeleton-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton-gift-card .skeleton-image{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;height:200px;width:100%}.skeleton-gift-card .skeleton-content{padding:18px}.skeleton-gift-card .skeleton-title{border-radius:4px;height:20px;margin-bottom:12px;width:80%}.skeleton-gift-card .skeleton-price{border-radius:4px;height:24px;margin-bottom:8px;width:60px}.skeleton-gift-card .skeleton-rating{border-radius:4px;height:16px;width:120px}.skeleton-price,.skeleton-rating,.skeleton-title{animation:skeleton-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.gift-card .highlighted-text{animation:search-highlight-glow 2s ease-in-out;background:linear-gradient(120deg,#ffeb3b66,#ffc1074d);border-radius:3px;font-weight:600;padding:1px 2px}@keyframes search-highlight-glow{0%,to{box-shadow:0 0 0 #ffc10700}50%{box-shadow:0 0 8px #ffc10766}}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border-top:4px solid var(--gray-200);border:4px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:50px;margin-bottom:20px;width:50px}.loading-message{color:var(--gray-600);font-size:1.1rem;margin-bottom:10px}.loading-submessage{color:var(--gray-500);font-size:.9rem}.loading-dots-container{display:flex;gap:4px;justify-content:center;margin:20px 0}.loading-dot{animation:loading-pulse 1.4s ease-in-out infinite both;background:var(--primary);border-radius:50%;height:8px;width:8px}.loading-dot:first-child{animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.loading-dot:nth-child(3){animation-delay:0s}@keyframes loading-pulse{0%,80%,to{opacity:.5;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.filters input[type=range],.filters select{position:relative;transition:all .3s ease}.filters input[type=range]:focus,.filters select:focus{box-shadow:0 2px 8px #6b46c126;outline:none;transform:scale(1.02)}.filters input[type=range]{-webkit-appearance:none;appearance:none;background:var(--gray-200);border-radius:3px;height:6px;outline:none;transition:all .3s ease}.filters input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary);border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .3s ease;transition:all .3s ease;width:20px}.filters input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 4px 8px #6b46c14d;transform:scale(1.2)}.filters input[type=range]::-moz-range-thumb{background:var(--primary);border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .3s ease;transition:all .3s ease;width:20px}.filters input[type=range]::-moz-range-thumb:hover{box-shadow:0 4px 8px #6b46c14d;transform:scale(1.2)}.results-summary{overflow:hidden;position:relative}.results-count{transition:all .4s cubic-bezier(.4,0,.2,1)}.results-count.updating{animation:count-bounce .6s ease-out}@keyframes count-bounce{0%{transform:scale(1)}50%{color:var(--primary);font-weight:700;transform:scale(1.1)}to{transform:scale(1)}}.modal-overlay.testimonial-modal{animation:modal-fade-in .3s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}@keyframes modal-fade-in{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);opacity:0}to{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:1}}.detail-modal.testimonial{animation:testimonial-modal-enter .4s cubic-bezier(.34,1.56,.64,1)}@keyframes testimonial-modal-enter{0%{opacity:0;transform:scale(.7) rotateY(-30deg)}to{opacity:1;transform:scale(1) rotateY(0deg)}}.success-feedback{align-items:center;animation:success-pop .6s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;gap:12px;left:50%;padding:20px 30px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10000}@keyframes success-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.success-feedback.exit{animation:success-fade-out .3s ease-out forwards}@keyframes success-fade-out{to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.category-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.category-chip{align-items:center;background:#fff;border:2px solid var(--gray-200);border-radius:24px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;overflow:hidden;padding:8px 16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.category-chip:before{background:var(--primary);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:0}.category-chip.active:before{left:0}.category-chip.active{border-color:var(--primary);color:#fff}.category-chip span{position:relative;z-index:1}.category-chip:hover:not(.active){border-color:var(--primary);box-shadow:0 4px 12px #6b46c126;transform:translateY(-2px)}.expandable-content{overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.expandable-content.collapsed{max-height:0}.expandable-content.expanded{max-height:500px}.expand-toggle{align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:flex;font-weight:600;gap:6px;padding:8px 0;transition:all .2s ease}.expand-toggle:hover{color:var(--primary-dark);transform:translateX(4px)}.expand-toggle .arrow{transition:transform .3s ease}.expand-toggle.expanded .arrow{transform:rotate(180deg)}.heart-rating{cursor:pointer;display:inline-block;transition:transform .2s ease}.heart-rating:hover{animation:heart-beat .6s ease-in-out;transform:scale(1.1)}@keyframes heart-beat{0%,to{transform:scale(1.1)}50%{transform:scale(1.2)}}.price{position:relative;transition:all .3s ease}.price:hover{color:var(--primary-dark);transform:scale(1.05)}.delivery-badge{cursor:default;transition:all .2s ease}.delivery-badge:hover{background:var(--success);color:#fff;transform:scale(1.05)}@media (max-width:768px) and (pointer:coarse){.category-chip,.gift-card,.quick-btn{transition-duration:.2s}.gift-card:hover{transform:translateY(-4px) scale(1.02)}.quick-btn:hover{transform:translateY(-2px) scale(1.01)}.filter-badge-remove{min-height:24px;min-width:24px}.suggestion-item{min-height:48px;padding:12px 16px}}@media (prefers-reduced-motion:reduce){.count-bounce,.heart-beat,.loading-pulse,.skeleton-shimmer,.spin{animation:none}.category-chip:hover,.gift-card:hover,.quick-btn:hover{transform:none}*{transition-duration:.01s!important}}@media (prefers-contrast:high){.skeleton-image,.skeleton-price,.skeleton-rating,.skeleton-title{background:var(--gray-400)}.loading-dot{background:var(--gray-800)}.category-chip{border-width:3px}}.category-chip:focus,.expand-toggle:focus,.gift-card:focus,.quick-btn:focus{outline:3px solid #6b46c199;outline-offset:2px}.category-chip,.gift-card,.modal-overlay,.quick-btn,.success-feedback{will-change:transform,opacity}@media (-webkit-max-device-pixel-ratio:1.5625),(max-resolution:150dpi){.loading-pulse,.skeleton-shimmer{animation-duration:2s}.hero:before{animation:none}}.mobile-actions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 10px #0000001a;display:flex;gap:12px;justify-content:center;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.mobile-wizard-btn{gap:8px;justify-content:center}.mobile-scan-btn,.mobile-wizard-btn{flex:1 1;max-width:200px}@media (min-width:768px){.mobile-actions{display:none}}.main-content{min-height:calc(100vh - 200px)}.swipeable-gift-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin:12px;overflow:hidden;position:relative;touch-action:manipulation;transition:transform .2s ease-out,box-shadow .2s ease-out;-webkit-user-select:none;user-select:none}.swipeable-gift-card:hover{box-shadow:0 8px 30px #00000026}.swipeable-gift-card.animating{z-index:1000}.card-content{align-items:center;display:flex;gap:16px;padding:16px}.gift-image{border-radius:12px;flex-shrink:0;height:80px;object-fit:cover;width:80px}.gift-info h3{color:#1f2937;font-size:16px;font-weight:600;margin:0 0 8px}.gift-price{color:#059669;font-size:18px;font-weight:700;margin:0 0 8px}.gift-rating{align-items:center;color:#f59e0b;display:flex;font-size:14px;gap:8px}.rating-text{color:#6b7280}.swipe-indicators{bottom:0;display:flex;left:0;pointer-events:none;position:absolute;right:0;top:0}.swipe-hint{background:#000c;flex:1 1;flex-direction:column;justify-content:center;opacity:0;transition:opacity .2s ease}.swipe-hint.left{background:linear-gradient(45deg,#ef4444,#dc2626)}.swipe-hint.right{background:linear-gradient(45deg,#10b981,#059669)}.swipe-hint .hint-icon{font-size:24px;margin-bottom:8px}.swipe-hint .hint-text{font-size:14px;font-weight:600}.touch-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-height:44px;min-width:44px;overflow:hidden;padding:12px 24px;position:relative;transition:all .2s ease}.touch-button--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 4px 12px #6366f14d;color:#fff}.touch-button--primary:hover{box-shadow:0 6px 16px #6366f166}.touch-button--outline{background:#0000;border:2px solid #d1d5db;color:#374151}.touch-button--outline:hover{border-color:#6366f1;color:#6366f1}.touch-button--ghost{background:#0000;color:#6b7280}.touch-button--ghost:hover{background:#f3f4f6;color:#374151}.touch-button--small{font-size:14px;min-height:36px;min-width:36px;padding:8px 16px}.touch-button--large{font-size:18px;min-height:56px;padding:16px 32px}.touch-button--pressed{transform:scale(.95)}.touch-button--disabled{cursor:not-allowed;opacity:.5}.button-content{position:relative;z-index:1}.button-ripple{animation:ripple .6s linear;background:#ffffff80;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}@keyframes ripple{to{opacity:0;transform:scale(4)}}.pull-to-refresh{overflow:hidden;position:relative}.pull-indicator{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);justify-content:center;left:0;position:absolute;right:0;top:0;transform:translateY(-100%);z-index:10}.pull-content,.pull-indicator{align-items:center;display:flex}.pull-content{color:#6b7280;flex-direction:column;gap:8px;padding:16px}.refresh-spinner{height:24px;position:relative;width:24px}.spinner-ring{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:100%;width:100%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.refresh-icon{color:#6366f1;font-size:20px;transition:transform .3s ease}.pull-text{font-size:14px;font-weight:500}.refresh-content{transition:transform .3s ease-out}.touch-slider{height:44px;padding:16px 0;position:relative;touch-action:pan-x;width:100%}.slider-track{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;position:relative}.slider-fill{background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:4px;height:100%;transition:width .1s ease}.slider-thumb{background:#fff;border:3px solid #6366f1;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;height:24px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow .2s ease,transform .2s ease;width:24px}.slider-thumb:hover{box-shadow:0 4px 16px #6366f14d}.touch-slider.dragging .slider-thumb{box-shadow:0 6px 20px #6366f166;transform:translate(-50%,-50%) scale(1.2)}.thumb-indicator{background:#1f2937;border-radius:6px;bottom:100%;color:#fff;font-size:12px;font-weight:600;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease;white-space:nowrap}.touch-slider.dragging .thumb-indicator{opacity:1}.thumb-indicator:after{border:4px solid #0000;border-top-color:#1f2937;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.touch-slider.disabled{opacity:.5;pointer-events:none}.touch-modal-backdrop{align-items:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:1000}@media (min-width:768px){.touch-modal-backdrop{align-items:center;justify-content:center}}.touch-modal-content{background:#fff;border-radius:20px 20px 0 0;max-height:90vh;overflow:hidden;touch-action:pan-y;width:100%}@media (min-width:768px){.touch-modal-content{border-radius:20px;max-height:80vh;max-width:500px}}.modal-handle{cursor:grab;display:flex;justify-content:center;padding:12px}.modal-handle:active{cursor:grabbing}.handle-bar{background:#d1d5db;border-radius:2px;height:4px;width:40px}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 20px}.modal-title{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-close-btn{min-height:32px;min-width:32px;padding:8px}.modal-body{max-height:calc(90vh - 120px);overflow-y:auto;padding:20px}.camera-scanner{background:#000;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1100}.camera-container{display:flex;flex:1 1;flex-direction:column;position:relative}.camera-video{height:100%;object-fit:cover;width:100%}.camera-controls{bottom:0;flex-direction:column;left:0;position:absolute;right:0;top:0}.camera-controls,.control-row{display:flex;justify-content:space-between;pointer-events:none}.control-row{align-items:center;padding:20px}.control-row.center{flex:1 1;justify-content:center}.control-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:none;border-radius:50%;color:#fff;display:flex;font-size:20px;height:48px;justify-content:center;pointer-events:auto;transition:all .2s ease;width:48px}.control-btn:hover{background:#000c;transform:scale(1.05)}.control-btn.active{background:#fbbf24;color:#92400e}.scan-frame{height:250px;position:relative;width:250px}.scan-corners{bottom:0;left:0;position:absolute;right:0;top:0}.corner{border:3px solid #10b981;height:30px;position:absolute;width:30px}.corner.top-left{border-bottom:none;border-right:none;left:0;top:0}.corner.top-right{border-bottom:none;border-left:none;right:0;top:0}.corner.bottom-left{border-right:none;border-top:none;bottom:0;left:0}.corner.bottom-right{border-left:none;border-top:none;bottom:0;right:0}.zoom-control{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border-radius:24px;gap:12px;padding:8px 16px;pointer-events:auto}.zoom-btn,.zoom-control{align-items:center;display:flex}.zoom-btn{background:#fff3;border:none;border-radius:50%;color:#fff;font-size:16px;font-weight:700;height:32px;justify-content:center;width:32px}.zoom-indicator{color:#fff;font-size:14px;font-weight:600;min-width:40px;text-align:center}.capture-btn{align-items:center;background:#ffffffe6;border:4px solid #fff;border-radius:50%;display:flex;height:80px;justify-content:center;pointer-events:auto;transition:all .2s ease;width:80px}.capture-btn:hover{background:#fff;transform:scale(1.05)}.capture-ring{align-items:center;border:3px solid #6366f1;border-radius:50%;display:flex;height:60px;justify-content:center;width:60px}.capture-inner{background:#6366f1;border-radius:50%;height:40px;width:40px}.analyzing-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:40px;width:40px}.camera-instructions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:12px;color:#fff;left:50%;margin-top:150px;padding:16px 24px;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.analyzing-text{color:#10b981;font-weight:600}.analysis-results-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1200}.results-content{background:#fff;border-radius:20px;max-height:80vh;max-width:500px;overflow-y:auto;width:100%}.results-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.results-header h3{color:#10b981;font-size:20px;margin:0}.results-body{padding:20px}.identification{background:#f8fafc;border-radius:12px;margin-bottom:24px;padding:16px}.identification h4{color:#1f2937;font-size:18px;margin:0 0 8px}.identification p{color:#6b7280;margin:4px 0}.recommendations h4{color:#1f2937;margin:0 0 16px}.recommendation-list{display:flex;flex-direction:column;gap:12px}.recommendation-item{align-items:center;border:1px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.rec-info h5{color:#1f2937;margin:0 0 4px}.rec-price{color:#059669;font-weight:600;margin:0}.match-score{background:#10b981;color:#fff}.results-actions{display:flex;gap:12px;margin-top:24px}.btn-primary{background:#6366f1;color:#fff}.btn-primary,.btn-secondary{border:none;border-radius:8px;flex:1 1;font-weight:600;padding:12px 24px}.btn-secondary{background:#e5e7eb;color:#374151}.quick-scan-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 12px #10b9814d;color:#fff;display:flex;font-weight:600;gap:8px;padding:12px 16px}.scan-icon{position:relative}.camera-body{font-size:20px}.scan-lines{display:flex;flex-direction:column;gap:1px;position:absolute;right:-2px;top:2px}.scan-line{animation:scanPulse 2s infinite;background:#fffc;height:1px;width:8px}.scan-line:nth-child(2){animation-delay:.3s}.scan-line:nth-child(3){animation-delay:.6s}@keyframes scanPulse{0%,to{opacity:.3}50%{opacity:1}}.mobile-wizard{background:#fff;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;touch-action:pan-x;z-index:1000}.wizard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 20px;position:relative;z-index:10}.header-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.step-counter{color:#6b7280;font-size:14px;font-weight:500}.progress-bar{border-radius:2px;height:4px}.progress-fill{background:linear-gradient(135deg,#6366f1,#4f46e5)}.wizard-content{flex:1 1;overflow-y:auto;padding:20px;transition:transform .3s ease}.wizard-content.sliding-left{transform:translateX(-100%)}.wizard-content.sliding-right{transform:translateX(100%)}.step-header{margin-bottom:32px;text-align:center}.step-icon{display:block;font-size:48px;margin-bottom:16px}.step-title{color:#1f2937;font-size:24px;font-weight:700;margin:0 0 8px}.step-subtitle{color:#6b7280;font-size:16px;margin:0}.step-body{margin:0 auto;max-width:400px}.option-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.option-list{gap:12px}.option-btn,.option-list{display:flex;flex-direction:column}.option-btn{align-items:center;gap:8px;padding:16px;text-align:center}.option-btn.full-width{flex-direction:row;justify-content:flex-start;text-align:left}.option-icon{font-size:24px}.option-label{font-size:14px;font-weight:500}.occasion-btn,.relationship-btn{padding:16px;text-align:center}.occasion-icon,.rel-icon{font-size:28px;margin-bottom:8px}.occasion-label,.rel-label{font-size:14px;font-weight:500}.category-grid,.trait-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.category-btn,.trait-btn{font-size:14px;padding:12px 8px;text-align:center}.category-btn{align-items:center;display:flex;flex-direction:column;gap:8px;padding:16px 12px}.cat-icon{font-size:24px}.cat-label{font-size:12px;font-weight:500}.scan-option{margin-bottom:24px}.scan-btn{font-size:16px;padding:16px;width:100%}.divider{color:#6b7280;font-size:14px;margin:24px 0;position:relative;text-align:center}.divider:before{background:#e5e7eb;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:-1}.divider span{background:#fff;padding:0 16px}.budget-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:24px}.budget-btn{align-items:center;display:flex;flex-direction:column;gap:8px;padding:16px;text-align:center}.budget-icon{font-size:28px}.budget-label{font-size:14px;font-weight:500}.form-group{margin-bottom:24px}.form-group label{color:#374151}.date-input,.notes-input{border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.date-input:focus,.notes-input:focus{border-color:#6366f1;outline:none}.notes-input{min-height:80px;resize:vertical}.results-loading{padding:40px 20px;text-align:center}.loading-animation{margin-bottom:24px}.gift-boxes{display:flex;gap:16px;justify-content:center;margin-bottom:16px}.gift-box{animation:bounce 1.5s infinite;font-size:32px}.gift-box:nth-child(2){animation-delay:.2s}.gift-box:nth-child(3){animation-delay:.4s}.results-step h3{color:#059669;margin-bottom:8px}.results-summary{margin-bottom:32px;text-align:center}.recommendation-preview{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.preview-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:16px;padding:16px}.preview-image{border-radius:8px;height:60px;object-fit:cover;width:60px}.preview-info h4{color:#1f2937;font-size:16px;margin:0 0 4px}.preview-price{color:#059669;font-size:16px;font-weight:600;margin:0 0 8px}.match-score{background:#dbeafe;border-radius:4px;color:#1d4ed8;font-size:12px;font-weight:600;padding:4px 8px}.results-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.stat{background:#f8fafc;border-radius:12px;padding:16px;text-align:center}.stat-number{font-size:24px}.stat-label{font-size:14px}.wizard-navigation{background:#fff;border-top:1px solid #e5e7eb;padding:16px 20px}.nav-dots{gap:8px;margin-bottom:16px}.nav-dot,.nav-dots{display:flex;justify-content:center}.nav-dot{align-items:center;background:#e5e7eb;border:none;border-radius:50%;cursor:pointer;height:32px;transition:all .2s ease;width:32px}.nav-dot.active{background:#6366f1}.nav-dot.completed{background:#10b981}.dot-inner{background:#fff;border-radius:50%;height:8px;opacity:0;transition:opacity .2s ease;width:8px}.nav-dot.active .dot-inner,.nav-dot.completed .dot-inner{opacity:1}.nav-buttons{align-items:center;display:flex;gap:12px;justify-content:space-between}.nav-btn{flex:1 1;font-size:16px;font-weight:600;max-width:150px;padding:12px 24px}.generating-message{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:12px}.generating-message .spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#6366f1;height:16px;width:16px}.camera-modal{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1200}.swipe-hints{display:flex;justify-content:space-between;left:0;opacity:.7;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:5}.swipe-hint{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-radius:20px;color:#fff;display:flex;font-size:12px;font-weight:500;gap:8px;margin:20px;padding:8px 16px}.swipe-hint.left{margin-left:20px}.swipe-hint.right{margin-right:20px}.hint-arrow{font-size:16px;opacity:.8}.camera-scanner.error{align-items:center;background:#1f2937;color:#fff;display:flex;justify-content:center;padding:40px;text-align:center}.error-message h3{color:#ef4444;margin:0 0 16px}.error-message p{margin:0 0 24px;opacity:.8}.error-message button{background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px}.analysis-error{align-items:center;background:#fee2e2;border-radius:8px;bottom:20px;color:#dc2626;display:flex;justify-content:space-between;left:20px;padding:16px;position:fixed;right:20px;z-index:1300}.analysis-error button{background:#dc2626;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}@media (max-width:480px){.option-grid{grid-template-columns:1fr}.budget-options,.category-grid,.trait-grid{grid-template-columns:repeat(2,1fr)}.results-stats{grid-template-columns:1fr}.nav-buttons{flex-direction:column}.nav-btn{max-width:none;width:100%}.swipe-hints{display:none}}@media (prefers-color-scheme:dark){.mobile-wizard{background:#111827;color:#f9fafb}.wizard-header{background:#1f2937;border-bottom-color:#374151}.step-title{color:#f9fafb}.step-counter,.step-subtitle{color:#9ca3af}.touch-button--outline{border-color:#4b5563;color:#d1d5db}.touch-button--outline:hover{border-color:#6366f1;color:#6366f1}.preview-card,.stat{background:#1f2937;border-color:#374151}.form-group label,.preview-info h4{color:#f9fafb}.date-input,.notes-input{background:#1f2937;border-color:#4b5563;color:#f9fafb}.nav-dot{background:#4b5563}.wizard-navigation{background:#1f2937;border-top-color:#374151}}@media (prefers-reduced-motion:reduce){.button-ripple,.nav-dot,.progress-fill,.refresh-icon,.slider-thumb,.swipeable-gift-card,.touch-button,.wizard-content{animation:none;transition:none}}@media (prefers-contrast:high){.touch-button--outline{border-width:3px}.nav-dot,.progress-bar{border:2px solid}.scan-frame .corner{border-width:4px}}.control-btn:focus,.date-input:focus,.nav-dot:focus,.notes-input:focus,.touch-button:focus{outline:2px solid #6366f1;outline-offset:2px}@media print{.camera-scanner,.mobile-wizard,.touch-modal-backdrop{display:none}}.social-share-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:10px 16px;position:relative;transition:all .2s ease}.social-share-btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.social-share-btn.sharing{opacity:.8;pointer-events:none}.share-icon{font-size:18px}.share-label{font-size:14px}.share-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;position:absolute;width:20px}.share-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.share-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.share-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.share-modal-header h2{color:#1f2937;font-size:20px;margin:0}.close-btn{color:#6b7280;padding:4px}.share-modal-body{padding:20px}.gift-preview{align-items:center;background:#f8fafc;border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.gift-preview-image{border-radius:8px;height:80px;object-fit:cover;width:80px}.gift-preview-info h3{color:#1f2937;font-size:16px;margin:0 0 8px}.gift-preview-info p{color:#059669;font-size:18px;font-weight:600;margin:0}.share-type-selector{margin-bottom:20px}.share-type-selector label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.type-options{display:flex;gap:8px}.type-option{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px;transition:all .2s ease}.type-option.active,.type-option:hover{border-color:#6366f1}.type-option.active{background:#6366f1;color:#fff}.custom-message{margin-bottom:20px}.custom-message label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.custom-message textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.share-platforms h3{color:#1f2937;font-size:16px;margin:0 0 12px}.platform-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.native-share-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;justify-content:center;margin-bottom:16px;padding:12px;width:100%}.share-link{border-top:1px solid #e5e7eb;display:flex;gap:8px;margin-top:16px;padding-top:16px}.share-url-input{background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:14px;padding:10px}.copy-btn{background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;white-space:nowrap}.copy-btn.copied{background:#059669}.social-proof-ticker{background:#fff;border-radius:12px;bottom:20px;box-shadow:0 10px 30px #00000026;left:20px;max-width:350px;opacity:0;padding:12px 16px;position:fixed;transform:translateY(20px);transition:all .3s ease;z-index:100}.social-proof-ticker.visible{opacity:1;transform:translateY(0)}.ticker-content{align-items:center;display:flex;gap:12px}.ticker-icon{font-size:20px}.ticker-text{color:#1f2937;flex:1 1;font-size:14px}.ticker-text strong{color:#6366f1;font-weight:600}.ticker-text em{color:#6b7280;font-style:normal}.ticker-time{color:#9ca3af;font-size:12px}.success-story-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:20px}.story-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.story-author{gap:12px}.author-avatar,.story-author{align-items:center;display:flex}.author-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.author-info h4{color:#1f2937;font-size:16px;margin:0}.story-date{color:#9ca3af;font-size:14px;margin:0}.story-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.story-content h3{color:#1f2937;font-size:18px;margin:0 0 12px}.story-content p{color:#6b7280;line-height:1.6;margin-bottom:16px}.story-gift{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px}.story-gift img{border-radius:8px;height:60px;object-fit:cover;width:60px}.story-gift .gift-info h5{color:#1f2937;font-size:14px;margin:0 0 4px}.story-gift .gift-info p{color:#059669;font-weight:600;margin:0}.story-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.metric{align-items:center;background:#f0f9ff;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.metric-icon{font-size:18px}.metric-label{color:#6b7280;font-size:12px}.metric-value{color:#1f2937;font-weight:600;margin-left:auto}.story-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;padding-top:16px}.like-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .2s ease}.like-btn.liked,.like-btn:hover{background:#fef2f2;border-color:#ef4444}.like-icon{font-size:18px}.like-count{color:#6b7280;font-weight:600}.inspire-btn{align-items:center;background:#fbbf24;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center}.inspire-btn,.story-share-btn{padding:8px 16px}.referral-widget{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;margin:20px 0;padding:24px}.referral-header h3{color:#1f2937;font-size:20px;margin:0 0 8px}.referral-header p{color:#6b7280;margin:0 0 20px}.referral-code-section{margin-bottom:24px}.code-display label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.code-box{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:16px}.code{color:#6366f1;flex:1 1;font-size:24px;font-weight:700;letter-spacing:2px;text-align:center}.copy-code-btn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:18px;padding:8px 12px}.copy-code-btn.copied{background:#10b981}.referral-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.referral-stats .stat{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:16px;text-align:center}.stat-number{color:#6366f1;display:block;font-size:28px;font-weight:700;margin-bottom:4px}.stat-label{letter-spacing:.5px;text-transform:uppercase}.referral-actions{margin-bottom:24px}.share-referral-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:16px;padding:14px;width:100%}.social-referral-buttons{display:flex;gap:12px;justify-content:center}.referral-social-btn{border-radius:50%;height:48px;width:48px}.referral-benefits{background:#fff;border-radius:12px;padding:16px}.referral-benefits h4{color:#1f2937;font-size:16px;margin:0 0 12px}.referral-benefits ul{color:#6b7280;margin:0;padding-left:24px}.referral-benefits li{margin-bottom:8px}.collaborative-gift-list{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.list-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.list-info h2{color:#1f2937;font-size:24px;margin:0 0 8px}.list-info p{color:#6b7280;margin:0 0 12px}.list-meta{display:flex;gap:20px}.list-meta span{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:6px}.list-actions{display:flex;gap:12px}.add-item-btn,.invite-btn,.share-list-btn{border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px;transition:all .2s ease}.add-item-btn{background:#10b981;border:none;color:#fff}.invite-btn{background:#6366f1;border:none;color:#fff}.share-list-btn{background:#fff;border:2px solid #e5e7eb;color:#6b7280}.list-controls{display:flex;gap:16px;margin-bottom:20px}.filter-controls,.sort-controls{align-items:center;display:flex;gap:8px}.filter-controls label,.sort-controls label{color:#6b7280;font-size:14px;font-weight:500}.filter-controls select,.sort-controls select{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 12px}.collaborator-avatars{height:40px;margin-bottom:20px;position:relative}.collaborator-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #0000001a;color:#fff;font-size:14px}.collaborator-avatar,.collaborator-more{align-items:center;border:2px solid #fff;border-radius:50%;display:flex;font-weight:600;height:36px;justify-content:center;position:absolute;width:36px}.collaborator-more{background:#e5e7eb;color:#6b7280;font-size:12px}.list-items{display:flex;flex-direction:column;gap:16px}.collaborative-gift-item{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.collaborative-gift-item:hover{box-shadow:0 4px 16px #0000001a}.item-main{align-items:center;cursor:pointer;display:flex;padding:16px}.item-image{border-radius:8px;height:80px;margin-right:16px;object-fit:cover;width:80px}.item-details{flex:1 1}.item-details h3{color:#1f2937;font-size:16px;margin:0 0 8px}.item-price{color:#059669;font-size:18px;font-weight:600;margin:0 0 8px}.item-meta{color:#9ca3af;display:flex;font-size:12px;gap:12px}.item-voting{flex-direction:column;gap:4px}.item-voting,.vote-btn{align-items:center;display:flex}.vote-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;height:32px;justify-content:center;transition:all .2s ease;width:32px}.vote-btn:hover{background:#f3f4f6}.vote-btn.up.voted{background:#10b981;border-color:#10b981;color:#fff}.vote-count{color:#1f2937;font-size:16px;font-weight:600}.item-actions{padding:0 16px 12px}.comment-toggle{background:none;border:none;color:#6b7280;cursor:pointer;font-size:14px;padding:4px 0}.item-comments{background:#f8fafc;border-top:1px solid #e5e7eb;padding:16px}.comment{color:#4b5563;font-size:14px;margin-bottom:12px}.comment strong{color:#1f2937}.comment-time{color:#9ca3af;display:block;font-size:12px;margin-top:4px}.add-comment{display:flex;gap:8px;margin-top:12px}.add-comment input{border:1px solid #e5e7eb;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.add-comment button{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.viral-challenge-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;overflow:hidden;padding:20px;position:relative}.viral-challenge-card.trending{background:linear-gradient(135deg,#fef3c7,#fed7aa)}.trending-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;position:absolute;right:12px;text-transform:uppercase;top:12px}.challenge-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.challenge-name{color:#1f2937;font-size:20px;font-weight:700;margin:0}.challenge-participants{text-align:center}.participant-count{color:#6366f1;display:block;font-size:24px;font-weight:700}.participant-label{color:#6b7280;font-size:11px;text-transform:uppercase}.challenge-description{color:#6b7280;line-height:1.5;margin-bottom:16px}.challenge-progress{margin-bottom:16px}.progress-info{align-items:baseline;display:flex;gap:4px;margin-bottom:8px}.progress-current{color:#10b981;font-size:24px;font-weight:700}.progress-separator{color:#9ca3af}.progress-target{color:#6b7280;font-size:18px;font-weight:600}.progress-label{color:#9ca3af;font-size:14px;margin-left:8px}.progress-bar{background:#e5e7eb;height:12px;overflow:hidden}.progress-bar,.progress-fill{border-radius:6px;position:relative}.progress-fill{background:linear-gradient(135deg,#10b981,#059669);height:100%;transition:width .3s ease}.milestone{align-items:center;background:#fff;border:2px solid #10b981;border-radius:50%;color:#10b981;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.milestone.m25{left:25%}.milestone.m50{left:50%}.milestone.m75{left:75%}.completion-badge{animation:bounce 1s infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:8px;color:#fff;font-weight:700;margin-top:12px;padding:8px 16px;text-align:center}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.challenge-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.challenge-stats .stat{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:8px;padding:12px}.stat-icon{font-size:20px}.stat-value{color:#1f2937;font-size:18px;font-weight:700}.stat-label{color:#6b7280;font-size:12px}.challenge-rewards{margin:16px 0}.challenge-rewards h4{color:#6b7280;font-size:14px;font-weight:500;margin:0 0 12px}.reward-items{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.reward-item{align-items:center;background:#f0f9ff;border-radius:8px;display:flex;flex-direction:column;padding:12px 8px}.reward-icon{font-size:24px;margin-bottom:4px}.reward-value{color:#6366f1;font-size:18px;font-weight:700;margin-bottom:2px}.reward-label{color:#6b7280;font-size:11px;text-transform:uppercase}.challenge-actions{display:flex;gap:12px}.join-challenge-btn,.share-challenge-btn,.view-details-btn{border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s ease}.join-challenge-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.view-details-btn{background:#fff;border:2px solid #e5e7eb;color:#6b7280}.share-challenge-btn{background:#6366f1;border:none;color:#fff}.challenge-details{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.detail-section{margin-bottom:16px}.detail-section h5{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 8px}.detail-section ol,.detail-section ul{color:#6b7280;font-size:14px;margin:0;padding-left:20px}.detail-section li{margin-bottom:4px}.challenge-leaderboard{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.leaderboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.leaderboard-header h2{color:#1f2937;font-size:24px;margin:0}.leaderboard-filters{display:flex;gap:8px}.filter-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{border-color:#6366f1;color:#6366f1}.filter-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-entry{align-items:center;background:#f8fafc;border-radius:12px;display:flex;padding:16px;transition:all .2s ease}.leaderboard-entry:hover{background:#f1f5f9;transform:translateX(4px)}.leaderboard-entry.current-user{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:2px solid #6366f1}.rank{color:#1f2937;font-size:20px;font-weight:700;text-align:center;width:40px}.user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;color:#fff;display:flex;font-weight:600;height:40px;justify-content:center;margin:0 12px;width:40px}.user-info{flex:1 1}.username{color:#1f2937;font-size:16px;font-weight:600;margin-bottom:4px}.user-stats{color:#6b7280;display:flex;font-size:14px;gap:12px}.completion-time{color:#9ca3af;font-size:14px}.achievement-gallery{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px}.gallery-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.gallery-header h2{color:#1f2937;font-size:24px;margin:0}.achievement-stats{align-items:baseline;display:flex;gap:8px}.earned-count{color:#6366f1;font-size:24px;font-weight:700}.earned-label{color:#6b7280;font-size:14px}.gallery-filters{display:flex;gap:8px;margin-bottom:24px}.achievement-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.achievement-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;text-align:center;transition:all .2s ease}.achievement-card.earned{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.achievement-card.locked{opacity:.5}.achievement-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.achievement-icon{font-size:36px;margin-bottom:8px}.achievement-name{color:#1f2937;font-size:14px;font-weight:600;margin:0 0 4px}.achievement-description{color:#6b7280;font-size:12px;line-height:1.4;margin:0 0 8px}.achievement-rarity{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.gamification-progress{background:linear-gradient(135deg,#1f2937,#374151);border-radius:12px;color:#fff;margin-bottom:20px;padding:16px}.level-info{gap:16px}.level-badge,.level-info{align-items:center;display:flex}.level-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;font-size:14px;font-weight:700;height:60px;justify-content:center;text-transform:uppercase;width:60px}.progress-details{flex:1 1}.xp-info{align-items:baseline;display:flex;gap:4px;margin-bottom:8px}.current-xp{font-size:20px;font-weight:700}.xp-separator{color:#ffffff80}.next-level-xp{color:#ffffffb3;font-size:14px}.xp-fill{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:4px;height:100%;transition:width .3s ease}.streak-indicator{align-items:center;background:#ef444433;border-radius:8px;display:flex;gap:8px;margin-top:12px;padding:8px 12px;width:-webkit-fit-content;width:fit-content}.streak-icon{font-size:20px}.streak-count{font-size:18px;font-weight:700}.streak-label{color:#fffc;font-size:14px}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-content h2{color:#1f2937;font-size:20px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:10px 12px;width:100%}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions button{border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px}.modal-actions button.primary{background:#6366f1;border:none;color:#fff}@media (max-width:768px){.platform-grid{grid-template-columns:repeat(2,1fr)}.challenge-stats,.referral-stats,.story-metrics{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.leaderboard-header,.list-header{flex-direction:column;gap:16px}.list-actions{width:100%}.list-actions button{flex:1 1}}.subscription-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.subscription-modal{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 25px 50px #00000026;max-height:90vh;max-width:1000px;overflow-y:auto;position:relative;width:100%}.subscription-header{border-bottom:1px solid #e9ecef;padding:40px 40px 20px;text-align:center}.subscription-header h2{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:10px}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:40px}.close-btn:hover{background:#f1f3f4;color:#333}.billing-toggle{display:flex;justify-content:center;padding:0 40px 30px}.toggle-group{background:#f1f3f4;border-radius:12px;display:flex;padding:4px;position:relative}.toggle-btn{background:none;border:none;border-radius:8px;color:#666;cursor:pointer;font-weight:600;padding:12px 24px;position:relative;transition:all .3s ease}.toggle-btn.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#2c3e50}.discount-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-left:8px;padding:2px 8px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.subscription-tiers{grid-gap:30px;align-items:stretch;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:30px 40px}.tier-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;min-height:400px;padding:30px;position:relative;transition:all .3s ease}.tier-card:hover{border-color:#4361ee;box-shadow:0 15px 35px #0000001a;transform:translateY(-5px)}.tier-card.selected{box-shadow:0 0 0 3px #4361ee1a}.tier-card.pro,.tier-card.selected{background:linear-gradient(135deg,#fff,#f8f9ff);border-color:#4361ee}.tier-card.concierge{background:linear-gradient(135deg,#fff,#fff8fb);border-color:#f72585}.tier-card.current{cursor:not-allowed;opacity:.7}.tier-badge{background:linear-gradient(135deg,#4361ee,#7209b7);border-radius:20px;font-size:.75rem;letter-spacing:.5px;padding:6px 16px}.tier-card.concierge .tier-badge{background:linear-gradient(135deg,#f72585,#b5179e)}.tier-header{margin-bottom:30px;text-align:center}.tier-header h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin-bottom:10px}.tier-price{align-items:baseline;display:flex;gap:5px;justify-content:center}.price-free{color:#28a745;font-size:1.8rem;font-weight:700}.price-amount{color:#2c3e50;font-size:2.5rem;font-weight:700}.price-period{color:#666;font-weight:500}.price-savings{color:#28a745;display:block;font-size:.85rem;font-weight:600;margin-top:5px}.tier-features{flex:1 1;margin-bottom:20px}.feature-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;padding:8px 0}.feature-item:last-child{border-bottom:none}.feature-check{color:#28a745;font-size:1.1rem;font-weight:600;margin-right:12px}.feature-text{color:#495057;line-height:1.5}.current-plan{background:#e9ecef;border-radius:8px;color:#6c757d;font-weight:600;margin-top:auto;padding:12px;text-align:center}.premium-gate{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #ced4da;border-radius:16px;padding:40px;position:relative;text-align:center}.premium-icon{display:block;font-size:3rem;margin-bottom:20px}.premium-gate h3{color:#495057;font-size:1.5rem;margin-bottom:10px}.premium-gate p{color:#6c757d;margin-bottom:25px}.btn-premium{background:linear-gradient(135deg,#4361ee,#7209b7);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:600;letter-spacing:.5px;padding:12px 30px;text-transform:uppercase;transition:all .3s ease}.btn-premium:hover{box-shadow:0 8px 25px #4361ee4d;transform:translateY(-2px)}.concierge-service{background:linear-gradient(135deg,#fff,#f8f9ff);border-radius:20px;margin:20px 0;padding:30px}.concierge-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.concierge-title h2{color:#2c3e50;font-size:2rem;margin-bottom:8px}.concierge-title p{color:#6c757d;font-size:1.1rem}.consultation-requests{margin-bottom:40px}.request-card{background:#fff;border-left:4px solid #4361ee;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:20px;padding:25px}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.request-info h4{color:#2c3e50;margin-bottom:5px}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.in-progress{background:#d1ecf1;color:#0c5460}.status-badge.completed{background:#d4edda;color:#155724}.concierge-features{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.feature-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:25px;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{display:block;font-size:2.5rem;margin-bottom:15px}.feature-card h4{color:#2c3e50;font-size:1.2rem;margin-bottom:10px}.feature-card p{color:#6c757d;line-height:1.6}.analytics-dashboard{background:#f8f9fa;border-radius:20px;padding:30px}.analytics-header{margin-bottom:40px;text-align:center}.analytics-header h2{color:#2c3e50;font-size:2rem;margin-bottom:8px}.analytics-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;gap:15px;padding:25px}.stat-card.primary{background:linear-gradient(135deg,#4361ee,#7209b7);color:#fff}.stat-icon{font-size:2rem}.stat-content h3{font-size:1.8rem;font-weight:700;margin-bottom:5px}.stat-content p{margin-bottom:5px;opacity:.8}.stat-trend{font-size:.8rem;font-weight:600}.stat-trend.positive{color:#28a745}.analytics-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:30px;padding:30px}.analytics-section h3{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.4rem;margin-bottom:25px;padding-bottom:10px}.gift-history-list{display:flex;flex-direction:column;gap:15px}.history-item{background:#f8f9fa;border-left:4px solid #4361ee;border-radius:8px;justify-content:space-between;padding:20px}.history-item,.history-stats{align-items:center;display:flex}.history-stats{gap:15px}.success-badge{border-radius:15px;font-size:.8rem;font-weight:600;padding:4px 12px}.success-badge.success{background:#d4edda;color:#155724}.insights-list{display:flex;flex-direction:column;gap:20px}.insight-card{align-items:center;border-radius:12px;display:flex;justify-content:space-between;padding:25px}.insight-card.trend{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3}.insight-card.prediction{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #9c27b0}.btn-insight{background:#4361ee;border:none;border-radius:20px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.btn-insight:hover{background:#3651d4;transform:translateY(-2px)}.reminder-dashboard{padding:30px}.reminder-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.reminder-header h2{color:#2c3e50;font-size:2rem}.reminder-section{margin-bottom:40px}.reminder-section h3{color:#2c3e50;font-size:1.4rem;margin-bottom:20px}.reminder-section.urgent h3{align-items:center;color:#dc3545;display:flex;gap:10px}.reminder-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.reminder-card{background:#fff;border-left:4px solid #4361ee;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:25px}.reminder-card.due{background:linear-gradient(135deg,#fff,#fff5f5);border-left-color:#dc3545}.reminder-urgent-indicator{background:linear-gradient(135deg,#dc3545,#c82333);border-radius:20px;color:#fff;font-size:.75rem;font-weight:700;margin-bottom:20px;overflow:hidden;padding:8px 15px;position:relative;text-align:center}.urgent-pulse{animation:pulse-slide 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes pulse-slide{0%{left:-100%}to{left:100%}}.reminder-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.reminder-occasion{align-items:center;display:flex;gap:15px}.occasion-icon{font-size:2rem}.occasion-info h4{color:#2c3e50;margin-bottom:5px}.reminder-timing{text-align:right}.days-until{color:#dc3545;font-size:1.1rem;font-weight:700}.reminder-actions{display:flex;gap:10px}.start-shopping{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:12px 20px;transition:all .3s ease}.start-shopping:hover{box-shadow:0 8px 25px #28a7454d;transform:translateY(-2px)}.quick-setup{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:16px;padding:30px;text-align:center}.quick-setup h3{color:#1976d2;margin-bottom:10px}.quick-setup-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:25px}.quick-setup-btn{background:#fff;border:2px solid #e9ecef;border-radius:12px;color:#495057;cursor:pointer;font-weight:600;padding:15px;transition:all .3s ease}.quick-setup-btn:hover{border-color:#4361ee;box-shadow:0 8px 20px #4361ee26;transform:translateY(-3px)}.corporate-gifting-dashboard{padding:30px}.corporate-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.corporate-title h2{color:#2c3e50;font-size:2rem;margin-bottom:8px}.corporate-nav{background:#f8f9fa;border-radius:12px;display:flex;gap:5px;margin-bottom:30px;padding:5px}.nav-tab{background:none;border:none;border-radius:8px;color:#6c757d;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s ease}.nav-tab.active{background:#fff;box-shadow:0 2px 8px #0000001a;color:#2c3e50}.corporate-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.discount-tiers{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;margin-bottom:30px;padding:30px}.discount-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.discount-tier{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #e9ecef;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.discount-tier.popular{background:linear-gradient(135deg,#4361ee,#7209b7);border-color:#4361ee;color:#fff;position:relative}.tier-badge{background:#28a745;border-radius:15px;color:#fff;font-size:.7rem;font-weight:700;left:50%;padding:4px 12px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.tier-quantity{font-weight:600;margin-bottom:8px}.tier-discount{color:#28a745;font-size:1.5rem;font-weight:700}.discount-tier.popular .tier-discount{color:#fff}.programs-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.program-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;box-shadow:0 4px 12px #0000000d;cursor:pointer;padding:30px;transition:all .3s ease}.program-card:hover{border-color:#4361ee;box-shadow:0 15px 35px #0000001a;transform:translateY(-5px)}.program-header{align-items:center;display:flex;gap:15px;margin-bottom:20px}.program-icon{font-size:2.5rem}.program-select-btn{background:linear-gradient(135deg,#4361ee,#7209b7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:20px;padding:12px 20px;transition:all .3s ease;width:100%}.program-select-btn:hover{box-shadow:0 8px 25px #4361ee4d;transform:translateY(-2px)}.bulk-order-form{background:#fff;border-radius:20px;box-shadow:0 8px 25px #0000001a;padding:40px}.form-section{border-bottom:1px solid #e9ecef;margin-bottom:40px;padding-bottom:30px}.form-section:last-child{border-bottom:none}.form-section h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#495057;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee1a;outline:none}.quantity-helper{color:#28a745;font-size:.85rem;font-weight:600}.quotation-display{background:linear-gradient(135deg,#e8f5e8,#d4edda);border-left:4px solid #28a745;border-radius:12px;margin:20px 0;padding:25px}.quotation-display h4{color:#155724;font-size:1.2rem;margin-bottom:15px}.quote-breakdown{display:flex;flex-direction:column;gap:10px}.quote-line{align-items:center;border-bottom:1px solid #c3e6cb;display:flex;justify-content:space-between;padding:8px 0}.quote-line:last-child{border-bottom:none}.quote-line.discount{color:#28a745;font-weight:600}.quote-line.total{border-top:2px solid #28a745;color:#155724;font-size:1.2rem;font-weight:700;margin-top:10px;padding-top:15px}.quote-per-item{color:#6c757d;font-style:italic;margin-top:10px;text-align:center}@media (max-width:768px){.subscription-tiers{grid-template-columns:1fr}.analytics-stats-grid,.corporate-stats,.discount-grid{grid-template-columns:1fr 1fr}.form-row,.programs-grid,.quick-setup-options,.reminder-cards{grid-template-columns:1fr}}@media (max-width:480px){.analytics-stats-grid,.corporate-stats,.discount-grid{grid-template-columns:1fr}.subscription-modal{margin:10px;padding:20px}.subscription-header{padding:20px 20px 10px}.subscription-tiers{padding:20px}}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-primary.large{border-radius:12px;font-size:1.1rem;padding:15px 40px}.btn-ghost.small,.btn-secondary.small{font-size:.9rem;padding:8px 15px}.btn-ghost.small{background:#0000;border:1px solid #ced4da;border-radius:6px;color:#6c757d;cursor:pointer;transition:all .3s ease}.btn-ghost.small:hover{background:#f8f9fa;border-color:#adb5bd}.product-detail-page{align-items:flex-start;background:#f9fafb;background:var(--background,#f9fafb);box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.product-detail-wrapper{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;width:100%}@media (min-width:640px){.product-detail-wrapper{flex-direction:row}}.product-detail-image{border-radius:.5rem;box-shadow:0 4px 8px #0000001a;height:auto;max-width:400px;object-fit:cover;width:100%}.product-detail-content{display:flex;flex:1 1;flex-direction:column;gap:1rem}.product-detail-title{font-size:2rem;font-weight:600;margin:0}.product-detail-price{color:#4a5568;font-size:1.25rem;font-weight:500}.product-detail-description{color:#4a5568;font-size:1rem;line-height:1.5}.product-detail-why h2{font-size:1.25rem;margin-bottom:.25rem}.product-detail-why p{color:#4a5568;font-size:1rem;line-height:1.5}.product-detail-cta{background-color:#6b46c1;border-radius:.375rem;color:#fff;display:inline-block;font-weight:600;margin-top:auto;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:background-color .2s ease}.product-detail-cta:hover{background-color:#553c99}
/*# sourceMappingURL=main.9b4cbc9c.css.map*/