.message-bubble{max-width:85%;margin-bottom:16px;padding:14px 18px;border-radius:var(--radius-lg);word-wrap:break-word;animation:message-appear .2s ease-out}@keyframes message-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-bubble.user{margin-left:auto;background-color:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message-bubble.assistant{margin-right:auto;background-color:var(--color-bg-secondary);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.message-content{font-size:14px;line-height:1.6}.message-time{font-size:11px;margin-top:6px;opacity:.6}.message-bubble.user .message-time{text-align:right}.message-bubble.assistant .message-time{text-align:left}.input-box{display:flex;gap:10px;align-items:center}.input-box input{flex:1;padding:14px 18px;font-size:14px;font-family:inherit;color:var(--color-text);background-color:var(--color-bg-secondary);border:2px solid transparent;border-radius:var(--radius-xl);outline:none;transition:all var(--transition-fast)}.input-box input::placeholder{color:var(--color-text-muted)}.input-box input:focus{background-color:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light)}.input-box input:disabled{background-color:var(--color-border-light);cursor:not-allowed;opacity:.7}.input-box button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:14px;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.input-box button:hover:not(:disabled){background-color:var(--color-primary-hover);transform:scale(1.02)}.input-box button:active:not(:disabled){transform:scale(.98)}.input-box button:disabled{opacity:.5;cursor:not-allowed}.input-box button svg{width:20px;height:20px}.error-message{display:flex;align-items:center;gap:12px;padding:14px 16px;background-color:var(--color-error-light);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);animation:error-appear .3s ease-out}@keyframes error-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.error-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-error)}.error-text{flex:1;font-size:14px;color:var(--color-error);line-height:1.5}.error-dismiss{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-error);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:.7;transition:all var(--transition-fast)}.error-dismiss:hover{opacity:1;background-color:#dc26261a}.error-dismiss svg{width:16px;height:16px}.chat-panel{position:relative;display:flex;flex-direction:column;height:100%;background-color:var(--color-surface)}.chat-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.chat-panel-header span{font-size:15px;font-weight:600;color:var(--color-text)}.clear-button{padding:8px 14px;font-size:13px;font-weight:500;color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.clear-button:hover:not(:disabled){background-color:var(--color-bg-secondary);border-color:var(--color-text-muted)}.clear-button:disabled{opacity:.4;cursor:not-allowed}.chat-panel-messages{flex:1;overflow-y:auto;padding:20px}.chat-welcome{text-align:center;padding:32px 16px}.chat-welcome-icon{font-size:48px;margin-bottom:16px}.chat-welcome p{font-size:16px;color:var(--color-text);margin-bottom:24px;font-weight:500}.chat-examples{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:20px;text-align:left}.examples-title{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.chat-examples ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.chat-examples li{padding:10px 14px;font-size:14px;color:var(--color-text-secondary);background-color:var(--color-surface);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.chat-examples li:hover{color:var(--color-primary);border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.chat-examples li:before{content:none}.chat-loading{display:flex;justify-content:center;padding:24px 16px}.typing-indicator{display:flex;align-items:center;gap:6px;padding:16px 20px;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);max-width:fit-content}.typing-indicator span{width:8px;height:8px;background-color:var(--color-text-muted);border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-panel-input{padding:16px 20px;border-top:1px solid var(--color-border);background-color:var(--color-surface)}.login-prompt-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-prompt-modal{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:32px;max-width:360px;width:90%;text-align:center;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-prompt-icon{width:80px;height:80px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-light);border-radius:50%}.login-prompt-icon svg{color:var(--color-primary)}.login-prompt-modal h3{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--color-text)}.login-prompt-modal p{margin:0 0 24px;font-size:14px;color:var(--color-text-secondary);line-height:1.6}.login-prompt-buttons{display:flex;gap:12px;justify-content:center}.login-prompt-buttons button{flex:1;padding:12px 20px;font-size:14px;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.login-prompt-buttons .btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.login-prompt-buttons .btn-secondary:hover{background-color:var(--color-border)}.login-prompt-buttons .btn-primary{background-color:var(--color-primary);color:#fff;border:none}.login-prompt-buttons .btn-primary:hover{background-color:var(--color-primary-hover)}.wishlist-button{background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.wishlist-button:hover{background:#fff;color:#ff4757;transform:scale(1.1)}.wishlist-button.active{color:#ff4757}.wishlist-button.loading{opacity:.6;pointer-events:none}.wishlist-button svg{display:block}.wishlist-button--small{width:28px;height:28px;padding:6px}.wishlist-button--small svg{width:16px;height:16px}.wishlist-button--medium{width:36px;height:36px;padding:8px}.wishlist-button--medium svg{width:20px;height:20px}.wishlist-button--large{width:44px;height:44px;padding:10px}.wishlist-button--large svg{width:24px;height:24px}.star-rating{display:inline-flex;gap:2px}.star-rating.readonly{pointer-events:none}.star-rating .star{background:none;border:none;padding:0;cursor:pointer;color:#ddd;transition:color .15s ease,transform .15s ease}.star-rating .star:not(:disabled):hover{transform:scale(1.1)}.star-rating .star.filled{color:#ffc107}.star-rating .star svg{display:block}.star-rating--small .star svg{width:16px;height:16px}.star-rating--medium .star svg{width:20px;height:20px}.star-rating--large .star svg{width:28px;height:28px}.gift-card{position:relative;display:flex;flex-direction:column;background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all var(--transition)}.gift-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.gift-card-rank{position:absolute;top:12px;left:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;font-size:13px;font-weight:700;border-radius:var(--radius);z-index:1;box-shadow:var(--shadow)}.gift-card-rank.top-1{background-color:#f59e0b}.gift-card-rank.top-2{background-color:#6b7280}.gift-card-rank.top-3{background-color:#b45309}.gift-card-image{position:relative;width:100%;height:200px;overflow:hidden;background-color:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.gift-card-actions{position:absolute;top:12px;right:12px;z-index:2;display:flex;flex-direction:column;gap:8px}.gift-card .compare-btn{width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#fffffff2;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow)}.gift-card .compare-btn:hover{background:var(--color-primary-light);transform:scale(1.1)}.gift-card .compare-btn.active{background:var(--color-primary)}.gift-card .compare-btn.active svg{stroke:#fff}.gift-card .compare-btn svg{stroke:var(--color-text-secondary)}.gift-card-image img{width:100%;height:100%;object-fit:contain;transition:transform var(--transition-slow)}.gift-card-no-image{font-size:14px;color:var(--color-text-muted)}.gift-card:hover .gift-card-image img{transform:scale(1.03)}.gift-card-content{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1}.gift-card-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-card-price{display:flex;justify-content:space-between;align-items:center}.gift-card-price .price{font-size:20px;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.gift-card-price .mall{font-size:12px;color:var(--color-text-muted);background-color:var(--color-bg-secondary);padding:5px 10px;border-radius:var(--radius-sm);font-weight:500}.gift-card-rating{display:flex;align-items:center;gap:8px}.gift-card-rating .rating-text{font-size:13px;color:var(--color-text-secondary);font-weight:500}.gift-card-reason{display:flex;gap:10px;padding:14px;background-color:var(--color-primary-light);border-radius:var(--radius);border-left:3px solid var(--color-primary)}.reason-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-primary)}.gift-card-reason p{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin:0}.gift-card-warnings{display:flex;flex-wrap:wrap;gap:6px}.gift-card-warnings .warning-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-warning);background-color:var(--color-warning-light);padding:5px 10px;border-radius:var(--radius-full);font-weight:500}.gift-card-button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px;font-size:14px;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);margin-top:auto}.gift-card-button:hover{background-color:var(--color-primary-hover)}.gift-card-button:active{transform:scale(.98)}.gift-card-button svg{flex-shrink:0}@keyframes card-appear{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.gift-card{animation:card-appear .4s ease-out backwards}.gift-card:nth-child(1){animation-delay:0s}.gift-card:nth-child(2){animation-delay:.1s}.gift-card:nth-child(3){animation-delay:.2s}.gift-card:nth-child(4){animation-delay:.3s}.gift-card:nth-child(5){animation-delay:.4s}.gift-card:nth-child(6){animation-delay:.5s}.search-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;min-height:400px}.search-progress-content{display:flex;flex-direction:column;align-items:center;gap:32px;max-width:360px}.search-animation{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.search-pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid var(--color-primary);opacity:0;animation:pulse-ring 2s ease-out infinite}.search-pulse-ring:before,.search-pulse-ring:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid var(--color-primary);opacity:0;animation:pulse-ring 2s ease-out infinite}.search-pulse-ring:before{animation-delay:.5s}.search-pulse-ring:after{animation-delay:1s}@keyframes pulse-ring{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.search-icon-container{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary-light);border-radius:50%;animation:icon-bounce 2s ease-in-out infinite}.search-icon{color:var(--color-primary)}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.search-status{display:flex;align-items:center;gap:10px;padding:12px 24px;background-color:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-md)}.search-status-icon{font-size:20px;animation:status-icon-pop .3s ease-out}@keyframes status-icon-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.search-status-text{font-size:15px;font-weight:500;color:var(--color-text);min-width:140px}.search-steps{display:flex;align-items:center;gap:0}.search-step{display:flex;align-items:center}.search-step-dot{width:20px;height:20px;border-radius:50%;background-color:var(--color-border);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.search-step.active .search-step-dot{background-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light);animation:step-pulse 1s ease-in-out infinite}.search-step.completed .search-step-dot{background-color:var(--color-success)}.search-step.completed .search-step-dot svg{color:#fff}@keyframes step-pulse{0%,to{box-shadow:0 0 0 4px var(--color-primary-light)}50%{box-shadow:0 0 0 8px var(--color-primary-light)}}.search-step-line{width:32px;height:2px;background-color:var(--color-border);transition:background-color var(--transition)}.search-step-line.completed{background-color:var(--color-success)}.search-fun-fact{display:flex;align-items:flex-start;gap:10px;padding:16px 20px;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);max-width:100%}.fun-fact-icon{font-size:18px;flex-shrink:0}.fun-fact-text{font-size:13px;color:var(--color-text-secondary);line-height:1.5;animation:fact-fade .5s ease-out}@keyframes fact-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.search-progress{padding:32px 16px;min-height:300px}.search-progress-content{gap:24px}.search-step-line{width:20px}}.personalized-section{margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:var(--radius-md);transition:all .3s ease}.personalized-section.expanded{background:linear-gradient(135deg,#fef9c3,#fef3c7)}.personalized-section.empty{background:var(--color-bg-secondary);border-color:var(--color-border)}.personalized-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.personalized-header.clickable{cursor:pointer;background:none;border:none;width:100%;padding:0;text-align:left}.header-left{display:flex;align-items:center;gap:8px}.personalized-icon{font-size:20px}.personalized-title{font-size:15px;font-weight:600;color:#92400e}.personalized-section.empty .personalized-title{color:var(--color-text)}.data-badge{font-size:11px;padding:2px 8px;background-color:#92400e26;color:#92400e;border-radius:var(--radius-full);font-weight:500}.expand-arrow{display:flex;align-items:center;color:#92400e;transition:transform .2s ease}.personalized-summary{margin:0 0 12px;font-size:13px;color:#78350f;line-height:1.5}.empty-content{display:flex;align-items:center;gap:10px}.empty-message{font-size:13px;color:var(--color-text-secondary);margin:0}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(146,64,14,.2)}.insight-card{display:flex;gap:10px;padding:12px;background-color:#ffffffb3;border-radius:var(--radius);transition:transform .2s ease}.insight-card:hover{transform:translateY(-2px)}.insight-icon{font-size:20px;flex-shrink:0}.insight-content{display:flex;flex-direction:column;gap:2px;min-width:0}.insight-label{font-size:11px;color:#92400e;font-weight:500;text-transform:uppercase}.insight-value{font-size:13px;font-weight:600;color:#78350f;word-break:break-word}.insight-desc{font-size:11px;color:#a16207}.insights-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.preview-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;color:#92400e;background-color:#fff9;border-radius:var(--radius-full)}@media (max-width: 480px){.insights-grid{grid-template-columns:1fr}.personalized-section{padding:12px}}.recommendation-panel{display:flex;flex-direction:column;height:100%;padding:24px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.intent-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full)}.processing-time{font-size:12px;color:var(--color-text-muted);background-color:var(--color-bg-secondary);padding:6px 12px;border-radius:var(--radius-full)}.recommendation-panel.empty,.recommendation-panel.loading,.recommendation-panel.error,.recommendation-panel.clarification,.recommendation-panel.pending{justify-content:center;align-items:center}.empty-state,.error-state,.clarification-state,.pending-state{text-align:center;max-width:320px}.empty-icon,.error-icon,.clarification-icon,.pending-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 20px;background-color:var(--color-bg-secondary);border-radius:50%}.empty-icon svg,.error-icon svg,.clarification-icon svg,.pending-icon svg{width:36px;height:36px;color:var(--color-text-muted)}.empty-state p,.error-state p,.clarification-state p,.pending-state p{margin:4px 0;font-size:15px;color:var(--color-text-secondary);line-height:1.6}.empty-state p:first-of-type,.error-state p:first-of-type,.clarification-state p:first-of-type,.pending-state p:first-of-type{font-weight:600;color:var(--color-text);font-size:16px}.error-state .suggestions{margin-top:20px;text-align:left;background-color:var(--color-warning-light);padding:16px;border-radius:var(--radius-md);border:1px solid rgba(217,119,6,.2)}.error-state .suggestions p{font-size:13px;font-weight:600;color:var(--color-warning);margin-bottom:8px}.error-state .suggestions ul{margin:0;padding-left:18px}.error-state .suggestions li{font-size:13px;color:var(--color-text-secondary);margin:4px 0}.clarification-question{font-weight:600;color:var(--color-text);margin-top:16px;padding:16px;background-color:var(--color-primary-light);border-radius:var(--radius-md);font-size:15px}.rec-summary{background-color:var(--color-surface);padding:20px;border-radius:var(--radius-md);margin-bottom:20px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.rec-summary p{margin:0}.budget-info{margin-top:10px!important;color:var(--color-primary);font-weight:600;font-size:14px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.gift-recommendations{flex:1;overflow-y:auto;min-height:0}.gift-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.summary-header{display:flex;align-items:center;gap:16px}.gift-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-accent-light);border-radius:var(--radius-md);font-size:24px}.recipient{margin:0;font-size:16px;color:var(--color-text)}.recipient strong{font-weight:600}.occasion{color:var(--color-text-muted);font-weight:400}.rec-count{margin:16px 0 0;font-size:14px;color:var(--color-text-secondary)}.rec-count strong{color:var(--color-primary)}.generic-recommendations{text-align:center;padding:48px;color:var(--color-text-secondary)}.intent-info{margin-top:16px;color:var(--color-text-muted);font-size:14px}.intent-info strong{color:var(--color-primary)}.value-recommendations{flex:1;overflow-y:auto;min-height:0}.value-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--color-success-light, #dcfce7);border-radius:var(--radius-md);font-size:24px}.category{font-size:16px;color:var(--color-text);margin:0}.tier-info{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.tier-section{margin-bottom:24px}.tier-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-border)}.tier-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:600;border-radius:var(--radius-full)}.tier-desc{font-size:13px;color:var(--color-text-muted)}.tier-cards{display:flex;flex-direction:column;gap:16px}.value-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast)}.value-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.value-card .card-link-wrapper{position:relative}.value-card .card-link{display:flex;gap:16px;padding:16px;text-decoration:none;color:inherit}.value-card-actions{position:absolute;top:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:8px}.value-card-wishlist{position:absolute;top:12px;right:12px;z-index:10}.compare-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text-muted);transition:all .2s ease}.compare-btn:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.compare-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.compare-btn.active:hover{background-color:var(--color-primary-dark, #4f46e5)}.value-card-rating{display:flex;align-items:center;gap:8px;padding:8px 16px;border-top:1px solid var(--color-border)}.value-card-rating .rating-text{font-size:13px;color:var(--color-text-secondary);font-weight:500}.value-card .card-image{flex-shrink:0;width:100px;height:100px;border-radius:var(--radius);overflow:hidden;background-color:var(--color-bg-secondary)}.value-card .card-image img{width:100%;height:100%;object-fit:cover}.value-card .card-image .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-text-muted)}.value-card .card-content{flex:1;min-width:0}.value-card .card-title{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--color-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.value-card .card-price{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--color-primary)}.value-card .card-mall{margin:0;font-size:12px;color:var(--color-text-muted)}.value-card .card-details{padding:12px 16px 16px;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.value-card .recommendation-reason{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.value-card .tier-benefits,.value-card .tier-tradeoffs{margin:8px 0;font-size:12px;line-height:1.4}.value-card .tier-benefits{color:var(--color-success, #16a34a)}.value-card .tier-tradeoffs{color:var(--color-warning, #d97706)}.value-card .tier-benefits .label,.value-card .tier-tradeoffs .label{font-weight:600}.value-card .warnings{margin:8px 0 0;padding:0;list-style:none}.value-card .warnings li{font-size:12px;color:var(--color-error, #dc2626);margin:4px 0}.bundle-recommendations{flex:1;overflow-y:auto;min-height:0}.bundle-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#dbeafe;border-radius:var(--radius-md);font-size:24px}.bundle-combo{margin-bottom:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.bundle-combo.fit{border-color:var(--color-success, #16a34a)}.bundle-combo.over{border-color:var(--color-warning, #d97706)}.combo-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--color-bg-secondary);flex-wrap:wrap;gap:8px}.combo-header-left{display:flex;align-items:center;gap:12px}.combo-badge{font-weight:600;font-size:14px;color:var(--color-text)}.combo-total{font-weight:700;font-size:15px}.combo-rating{display:flex;align-items:center;gap:6px}.combo-rating .rating-text{font-size:12px;color:var(--color-text-secondary);font-weight:500}.combo-total.fit{color:var(--color-success, #16a34a)}.combo-total.over{color:var(--color-warning, #d97706)}.adjustment-note{padding:8px 16px;margin:0;font-size:13px;color:var(--color-text-secondary);background-color:#fef3c7}.combo-actions{display:flex;align-items:center;gap:12px}.combo-wishlist-section{padding:12px 16px;background-color:var(--color-bg-tertiary, #f8f9fa);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.combo-wishlist-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .2s ease}.combo-wishlist-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#fecaca;color:#ef4444}.combo-wishlist-btn:hover:not(:disabled) svg{stroke:#ef4444}.combo-wishlist-btn.added{background-color:#fef2f2;border-color:#fecaca;color:#ef4444}.combo-wishlist-btn:disabled{opacity:.7;cursor:not-allowed}.wishlist-message{font-size:12px;color:var(--color-success, #16a34a);font-weight:500}.bundle-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bundle-item-header .item-category{margin:0}.item-wishlisted{display:flex;align-items:center;color:#ef4444}.combo-items{padding:16px}.bundle-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.bundle-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.item-category{font-weight:600;font-size:13px;color:var(--color-text-muted);margin:0 0 8px;text-transform:uppercase}.bundle-product-card-wrapper{position:relative}.bundle-product-card{display:flex;gap:12px;padding:12px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all var(--transition-fast)}.bundle-product-card:hover{border-color:var(--color-primary)}.bundle-compare-btn{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:#fffffff2;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text-muted);transition:all .2s ease;z-index:10;box-shadow:var(--shadow-sm)}.bundle-compare-btn:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.1)}.bundle-compare-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.bundle-compare-btn.active:hover{background-color:var(--color-primary-dark, #4f46e5)}.bundle-product-card img{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-sm)}.bundle-product-card .product-info{flex:1;min-width:0}.bundle-product-card .title{margin:0 0 4px;font-size:13px;font-weight:500;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bundle-product-card .price{margin:0 0 2px;font-size:14px;font-weight:700;color:var(--color-primary)}.bundle-product-card .mall{margin:0;font-size:11px;color:var(--color-text-muted)}.alternatives{margin-top:8px;padding-left:12px}.alt-label{font-size:11px;color:var(--color-text-muted);margin:0 0 4px}.alt-item{display:block;font-size:12px;color:var(--color-text-secondary);text-decoration:none;margin:4px 0}.alt-item:hover{color:var(--color-primary)}.review-recommendations{flex:1;overflow-y:auto;min-height:0}.review-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#fef3c7;border-radius:var(--radius-md);font-size:24px}.sentiment{font-size:14px;font-weight:600;margin:4px 0 0}.sentiment.positive{color:var(--color-success, #16a34a)}.sentiment.negative{color:var(--color-error, #dc2626)}.sentiment.mixed{color:var(--color-warning, #d97706)}.review-section{margin-bottom:20px;padding:16px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.review-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text)}.complaints-list{list-style:none;padding:0;margin:0}.complaint{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:8px;background-color:var(--color-bg-secondary);border-radius:var(--radius);border-left:3px solid}.complaint.severity-high{border-left-color:var(--color-error, #dc2626)}.complaint.severity-medium{border-left-color:var(--color-warning, #d97706)}.complaint.severity-low{border-left-color:var(--color-success, #16a34a)}.complaint .rank{font-weight:700;font-size:13px;color:var(--color-text-muted)}.complaint .issue{flex:1;font-size:13px;color:var(--color-text)}.complaint .severity{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);font-weight:600}.complaint .severity.high{background-color:#fee2e2;color:#dc2626}.complaint .severity.medium{background-color:#fef3c7;color:#d97706}.complaint .severity.low{background-color:#dcfce7;color:#16a34a}.conditions-list,.tips-list{list-style:none;padding:0;margin:0}.conditions-list li,.tips-list li{padding:8px 12px;margin-bottom:6px;font-size:13px;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);border-radius:var(--radius)}.disclaimer{font-size:12px;color:var(--color-text-muted);text-align:center;padding:12px;background-color:var(--color-bg-secondary);border-radius:var(--radius);margin-top:16px}.real-review-insights{margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:var(--radius-md)}.insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.insights-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;background-color:#0ea5e9;color:#fff;border-radius:var(--radius-full)}.insights-badge:before{content:"✓"}.data-freshness{font-size:12px;color:#0369a1;font-weight:500}.satisfaction-meter{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background-color:#fff;border-radius:var(--radius)}.satisfaction-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.satisfaction-bar{flex:1;height:12px;background-color:#e2e8f0;border-radius:var(--radius-full);overflow:hidden}.satisfaction-fill{height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:var(--radius-full);transition:width .5s ease}.satisfaction-value{font-size:16px;font-weight:700;color:#16a34a;min-width:50px;text-align:right}.user-quotes-section{margin-bottom:16px}.user-quotes-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text)}.quotes-list{display:flex;flex-direction:column;gap:8px}.quote-item{display:flex;gap:10px;padding:12px;background-color:#fff;border-radius:var(--radius);border-left:3px solid}.quote-item.positive{border-left-color:#22c55e}.quote-item.negative{border-left-color:#ef4444}.quote-icon{font-size:16px;flex-shrink:0}.quote-text{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.5;font-style:italic}.review-section.praises{background-color:#f0fdf4;border-color:#bbf7d0}.praises-list{list-style:none;padding:0;margin:0}.praises-list li{padding:8px 12px;margin-bottom:6px;font-size:13px;color:#166534;background-color:#dcfce7;border-radius:var(--radius)}.praises-list li:before{content:"✓ ";font-weight:600}.review-section.decision-factors h4{margin-bottom:16px}.factors-tags{display:flex;flex-wrap:wrap;gap:8px}.factor-tag{display:inline-block;padding:6px 12px;font-size:12px;font-weight:500;color:#1e40af;background-color:#dbeafe;border-radius:var(--radius-full)}.source-info{display:flex;align-items:center;gap:8px;padding-top:12px;margin-top:12px;border-top:1px solid #bae6fd;flex-wrap:wrap}.source-label{font-size:12px;color:var(--color-text-muted)}.source-tag{display:inline-block;padding:4px 8px;font-size:11px;color:#475569;background-color:#fff;border-radius:var(--radius);border:1px solid #e2e8f0}.frequency-badge{font-size:11px;padding:2px 8px;border-radius:var(--radius-full);background-color:#e2e8f0;color:#64748b}.frequency-badge.real{background-color:#dbeafe;color:#1d4ed8;font-weight:600}.trend-recommendations{flex:1;overflow-y:auto;min-height:0}.trend-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:#dbeafe;border-radius:var(--radius-md);font-size:24px}.data-source{font-size:12px;color:var(--color-text-muted);margin:4px 0 0}.trend-item{margin-bottom:20px;padding:16px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.trend-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.trend-keyword{font-size:16px;font-weight:600;color:var(--color-text)}.growth-rate{font-size:13px;font-weight:600;color:var(--color-success, #16a34a);background-color:#dcfce7;padding:2px 10px;border-radius:var(--radius-full)}.trend-meta{display:flex;gap:12px;margin-bottom:12px}.trend-meta .period,.trend-meta .segment{font-size:12px;color:var(--color-text-muted)}.trend-products{display:flex;flex-direction:column;gap:8px}.trend-product-wrapper{position:relative}.trend-product{display:flex;gap:12px;padding:10px 40px 10px 10px;background-color:var(--color-bg-secondary);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all var(--transition-fast)}.trend-product:hover{background-color:var(--color-primary-light)}.trend-compare-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:#fffffff2;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--color-text-muted);transition:all .2s ease;z-index:10;box-shadow:var(--shadow-sm)}.trend-compare-btn:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-50%) scale(1.1)}.trend-compare-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.trend-compare-btn.active:hover{background-color:var(--color-primary-dark, #4f46e5)}.trend-product img{width:50px;height:50px;object-fit:cover;border-radius:var(--radius-sm)}.trend-product .product-info{flex:1;min-width:0}.trend-product .title{margin:0 0 4px;font-size:13px;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trend-product .price{margin:0;font-size:14px;font-weight:600;color:var(--color-primary)}.no-more-hint{text-align:center;padding:20px;margin-top:16px;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.no-more-hint p{margin:0;font-size:14px;color:var(--color-text-secondary)}.no-more-hint p:first-child{font-weight:600;color:var(--color-text);margin-bottom:4px}.no-more-hint .hint-sub{font-size:13px;color:var(--color-text-muted)}.paging-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:16px;background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.paging-button{padding:10px 20px;font-size:14px;font-weight:600;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.paging-button:hover:not(:disabled){background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.paging-button:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:var(--color-text-secondary);font-weight:500}@media (max-width: 768px){.recommendation-panel{padding:16px}.gift-cards-grid,.cards-grid{grid-template-columns:1fr;gap:16px}.value-card .card-link{flex-direction:column}.value-card .card-image{width:100%;height:160px}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--color-bg-secondary);color:var(--color-text);border-color:var(--color-primary)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}[data-theme=dark] .theme-toggle{background:var(--color-bg-secondary);border-color:var(--color-border)}[data-theme=dark] .theme-toggle:hover{background:var(--color-bg-tertiary);border-color:#f59e0b;color:#f59e0b}[data-theme=light] .theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-left{display:flex;align-items:center;gap:16px}.app-logo{display:flex;align-items:center;gap:12px;cursor:pointer;transition:opacity .2s ease}.app-logo:hover{opacity:.8}.app-logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);border-radius:10px;color:#fff}.app-logo h1{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.app-subtitle{color:var(--color-text-muted);font-size:14px}.header-right,.user-menu{display:flex;align-items:center;gap:12px}.header-nav{display:flex;align-items:center;gap:8px;margin-right:8px;padding-right:16px;border-right:1px solid var(--color-border)}.nav-link{background:transparent;border:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease}.nav-link:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{color:var(--color-text);font-size:14px;font-weight:500}.login-button,.logout-button{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.login-button{background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);color:#fff;border:none}.login-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.logout-button{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.logout-button:hover{background:var(--color-bg-tertiary);color:var(--color-text)}@media (max-width: 768px){.app-subtitle,.user-name{display:none}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);padding:20px}.login-container{background:var(--color-surface);border-radius:16px;padding:48px;max-width:420px;width:100%;box-shadow:0 20px 60px #0003}.login-header{text-align:center;margin-bottom:40px}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);border-radius:20px;margin-bottom:20px;color:#fff}.login-header h1{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 8px}.login-subtitle{color:var(--color-text-secondary);font-size:15px;margin:0}.login-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:40px}.login-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.login-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.login-button.kakao{background:#fee500;color:#000}.login-button.kakao:hover{background:#fdd800}.login-button.naver{background:#03c75a;color:#fff}.login-button.naver:hover{background:#02b350}.login-features{background:var(--color-bg-secondary);border-radius:12px;padding:24px}.login-features h3{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 16px;text-align:center}.login-features ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.login-features li{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--color-text-secondary)}.feature-icon{font-size:18px}.login-loading{color:#fff;font-size:18px}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.callback-container{background:#fff;border-radius:16px;padding:48px;text-align:center;box-shadow:0 20px 60px #0003}.callback-container.error{max-width:400px}.callback-icon{font-size:48px;margin-bottom:16px}.callback-container h2{margin:0 0 12px;color:#1a1a2e}.callback-container p{color:#666;margin:0 0 24px}.callback-container button{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease}.callback-container button:hover{transform:translateY(-2px)}.callback-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.purchases-page{max-width:900px;margin:0 auto;padding:24px}.page-header{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px;width:100%}.page-header h1{font-size:24px;font-weight:700;color:var(--color-text);margin:0;text-align:center}.header-actions{display:flex;gap:10px;justify-content:center}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;padding:12px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-primary:hover{opacity:.9;box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);padding:12px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{background:var(--color-border)}.btn-purple{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;border:none;padding:12px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-purple:hover{opacity:.9;box-shadow:0 4px 12px #9333ea66}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px}.stat-label{font-size:13px;color:var(--color-text-muted)}.purchases-page .stat-value{font-size:24px;font-weight:700;color:var(--color-text)}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-btn{padding:8px 16px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-full);font-size:13px;cursor:pointer;transition:all var(--transition)}.filter-btn:hover{border-color:var(--color-primary-light)}.filter-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.purchase-list{display:flex;flex-direction:column;gap:12px}.purchase-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition)}.purchase-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.purchase-main{flex:1}.product-name{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 6px}.purchase-details{display:flex;align-items:center;gap:12px}.price{font-size:16px;font-weight:700;color:var(--color-primary)}.quantity{font-size:13px;color:var(--color-text-muted)}.mall{font-size:12px;color:var(--color-text-muted);background:var(--color-bg-secondary);padding:4px 8px;border-radius:var(--radius-sm)}.purchase-meta{display:flex;align-items:center;gap:12px}.category-tag{font-size:12px;padding:4px 10px;background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:var(--radius-full)}.date{font-size:13px;color:var(--color-text-muted)}.btn-edit{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.btn-edit:hover{background:var(--color-primary-light);color:var(--color-primary)}.btn-delete{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);font-size:20px;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.btn-delete:hover{background:var(--color-error);color:#fff}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state p{margin:8px 0}.loading{text-align:center;padding:40px;color:var(--color-text-muted)}.auth-required{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-content h2{font-size:20px;font-weight:700;margin:0 0 24px;color:var(--color-text)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-bg-secondary);color:var(--color-text);transition:all var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.search-results-modal{width:auto;min-width:360px;max-width:560px}.search-results-modal h2{text-align:center}.select-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.select-all{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--color-text-secondary)}.select-all input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.search-results-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;margin-bottom:16px}.product-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.product-item:hover{background:var(--color-border)}.product-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary);flex-shrink:0;margin-top:2px}.product-info{flex:1;min-width:0}.product-info .product-name{display:block;font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:6px;line-height:1.4;word-break:break-word}.product-details{display:flex;align-items:center;gap:10px}.product-price{font-size:14px;font-weight:600;color:var(--color-primary)}.product-mall{font-size:12px;color:var(--color-text-muted)}.error-state{text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:8px}.error-state .error-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.error-state .error-sub{font-size:14px;color:var(--color-text-muted);margin:0 0 16px}.error-state .btn-secondary{margin-top:8px}.search-results-modal .error-state,.search-results-modal .empty-state{min-width:280px}@media (max-width: 640px){.purchases-page{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:stretch}.page-header h1{text-align:center}.header-actions{flex-direction:column}.stats-grid{grid-template-columns:1fr}.purchase-card{flex-direction:column;gap:12px;align-items:stretch}.purchase-meta{justify-content:space-between}.form-row{grid-template-columns:1fr}}.price-chart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.price-chart-modal{background:#1a1a2e;border-radius:16px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #333}.chart-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.close-button{background:transparent;border:none;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-button:hover{background:#333;color:#fff}.period-selector{display:flex;gap:8px;padding:16px 24px;border-bottom:1px solid #333}.period-button{padding:8px 16px;border-radius:20px;border:1px solid #444;background:transparent;color:#888;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.period-button:hover{border-color:#667eea;color:#667eea}.period-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.chart-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 24px;background:#16162a}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#888}.stat-value{font-size:16px;font-weight:600;color:#fff}.stat-value.current{color:#667eea}.stat-value.lowest{color:#22c55e}.stat-value.highest{color:#ef4444}.lowest-price-badge{margin:0 24px;padding:12px 16px;background:linear-gradient(135deg,#22c55e33,#22c55e1a);border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#22c55e;font-size:14px;font-weight:600;text-align:center}.chart-container{padding:20px 24px 24px}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.chart-loading .spinner{width:32px;height:32px;border:3px solid #333;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.chart-loading p{color:#888;font-size:14px}.chart-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.chart-error p{color:#ef4444;font-size:14px}.chart-error button{padding:8px 16px;background:#333;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s ease}.chart-error button:hover{background:#444}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:8px}.chart-empty p{color:#888;font-size:14px;margin:0}.chart-empty-sub{color:#666!important;font-size:12px!important}.chart-tooltip{background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:12px;box-shadow:0 4px 12px #0000004d}.tooltip-date{margin:0 0 4px;font-size:12px;color:#888}.tooltip-price{margin:0;font-size:16px;font-weight:600;color:#667eea}@media (max-width: 600px){.chart-stats{grid-template-columns:repeat(2,1fr)}.price-chart-modal{max-height:95vh}.chart-container{padding:16px}}.prediction-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prediction-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #00000080}.prediction-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg);z-index:1}.prediction-header h3{margin:0;font-size:18px;color:var(--color-text)}.prediction-header .close-button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius);transition:all .2s ease}.prediction-header .close-button:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.prediction-product-name{margin:0;padding:12px 20px;font-size:14px;color:var(--color-text-secondary);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prediction-loading,.prediction-error{padding:48px 20px;text-align:center}.prediction-loading .spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.prediction-error p{color:var(--color-danger);margin-bottom:12px}.prediction-error button{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.prediction-content{padding:20px}.recommendation-box{padding:20px;border-radius:var(--radius-md);margin-bottom:20px}.recommendation-box.rec-buy{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.recommendation-box.rec-wait{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.recommendation-box.rec-neutral{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.rec-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.rec-icon{font-size:24px}.rec-label{font-size:18px;font-weight:700}.rec-reason{margin:0 0 8px;font-size:14px;line-height:1.5;opacity:.95}.rec-timing{margin:0;font-size:13px;opacity:.8;font-weight:500}.trend-section,.price-info-section,.predicted-section,.sales-section{margin-bottom:20px}.trend-section h4,.price-info-section h4,.predicted-section h4,.sales-section h4{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.trend-box{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius);background:var(--color-bg-secondary);border:1px solid var(--color-border)}.trend-box.trend-up{border-color:#ef4444;background:#ef44441a}.trend-box.trend-down{border-color:#22c55e;background:#22c55e1a}.trend-box.trend-stable{border-color:#6b7280;background:#6b72801a}.trend-icon{font-size:24px}.trend-info{display:flex;flex-direction:column;gap:2px}.trend-label{font-size:14px;font-weight:600;color:var(--color-text)}.trend-rate{font-size:15px;font-weight:700}.trend-up .trend-rate{color:#ef4444}.trend-down .trend-rate{color:#22c55e}.trend-stable .trend-rate{color:var(--color-text-secondary)}.trend-period{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.price-grid,.predicted-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.price-item,.predicted-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--color-bg-secondary);border-radius:var(--radius);text-align:center}.price-label,.predicted-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase}.price-value,.predicted-value{font-size:14px;font-weight:700;color:var(--color-text)}.price-value.current{color:var(--color-primary)}.price-value.lowest{color:#22c55e}.price-value.highest{color:#ef4444}.predicted-value.down{color:#22c55e}.predicted-value.up{color:#ef4444}.predicted-grid{grid-template-columns:repeat(2,1fr);margin-bottom:12px}.confidence-badge{display:inline-flex;padding:6px 12px;font-size:12px;border-radius:var(--radius-full);font-weight:500}.confidence-badge.conf-high{background:#22c55e26;color:#22c55e}.confidence-badge.conf-medium{background:#f59e0b26;color:#f59e0b}.confidence-badge.conf-low{background:#6b728026;color:#6b7280}.sales-disclaimer{margin:0 0 12px;padding:10px 12px;font-size:12px;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius);line-height:1.5}.sales-list{display:flex;flex-direction:column;gap:10px}.sale-item{padding:12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius)}.sale-item.applicable{border-color:var(--color-primary);background:#667eea14}.sale-item.not-applicable{opacity:.6}.sale-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sale-name{font-size:14px;font-weight:600;color:var(--color-text)}.sale-badge{font-size:11px;padding:2px 8px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-weight:600}.sale-badge.ongoing{background:#22c55e;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.sale-info{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-secondary)}.sale-discount{color:#22c55e;font-weight:600}.not-applicable-badge{display:inline-block;margin-top:6px;font-size:11px;color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:2px 8px;border-radius:var(--radius)}.analysis-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-secondary);padding-top:16px;border-top:1px solid var(--color-border)}@media (max-width: 480px){.prediction-modal{width:95%;max-height:85vh}.price-grid{grid-template-columns:repeat(2,1fr)}.analysis-meta{flex-direction:column;gap:4px;text-align:center}}.wishlist-page{min-height:calc(100vh - 70px);padding:32px;background:var(--color-bg)}.wishlist-header{max-width:1200px;margin:0 auto 32px}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.wishlist-header h2{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--color-text)}.wishlist-subtitle{margin:0;font-size:14px;color:var(--color-text-muted)}.add-manual-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-manual-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.header-buttons{display:flex;gap:12px}.notification-settings-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.notification-settings-button:hover{background:var(--color-bg-secondary);border-color:var(--color-primary);color:var(--color-text)}.notification-modal{max-width:450px}.notification-description{color:var(--color-text-muted);font-size:14px;margin-bottom:20px;line-height:1.5}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--color-text);font-size:14px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.email-input{width:100%;padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;transition:border-color .2s ease}.email-input:focus{outline:none;border-color:var(--color-primary)}.email-input:disabled{opacity:.5;cursor:not-allowed}.notification-conditions{margin-top:20px;padding:16px;background:var(--color-primary-light);border-radius:8px;border:1px solid rgba(102,126,234,.2)}.notification-conditions h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-primary)}.notification-conditions ul{margin:0;padding-left:20px;color:var(--color-text-secondary);font-size:13px;line-height:1.8}.wishlist-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.wishlist-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wishlist-loading p{color:var(--color-text-muted);font-size:14px}.wishlist-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.wishlist-error p{color:var(--color-error);font-size:14px}.wishlist-error button{padding:10px 20px;background:var(--color-bg-tertiary);border:none;border-radius:8px;color:var(--color-text);font-size:14px;cursor:pointer;transition:background .2s ease}.wishlist-error button:hover{background:var(--color-border)}.wishlist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;text-align:center}.empty-icon{color:var(--color-border)}.wishlist-empty h3{margin:0;font-size:20px;color:var(--color-text)}.wishlist-empty p{margin:0;font-size:14px;color:var(--color-text-muted)}.go-home-button{margin-top:8px;padding:12px 24px;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.go-home-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.wishlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;max-width:1200px;margin:0 auto}.wishlist-card{background:var(--color-surface);border-radius:12px;overflow:hidden;border:1px solid var(--color-border);transition:all .2s ease}.wishlist-card:hover{border-color:var(--color-border-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-image{position:relative;height:180px;background:var(--color-bg-secondary);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.no-image{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-border)}.price-status-badge{position:absolute;top:12px;left:12px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-lowest{background:#22c55ee6;color:#fff}.status-near{background:#eab308e6;color:#1a1a2e}.card-content{padding:16px}.card-mall{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}.card-title{margin:0 0 16px;font-size:14px;font-weight:500;color:var(--color-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price-info{display:flex;gap:16px;margin-bottom:12px}.current-price,.lowest-price,.target-price-display{display:flex;flex-direction:column;gap:4px}.price-label{font-size:11px;color:var(--color-text-muted)}.price-value{font-size:16px;font-weight:600;color:var(--color-text)}.current-price .price-value{color:var(--color-primary)}.lowest-price .price-value{color:var(--color-success)}.price-value.clickable{cursor:pointer;color:var(--color-text-muted);transition:color .2s ease}.price-value.clickable:hover{color:var(--color-primary)}.target-price-section{margin-bottom:12px}.target-price-edit{display:flex;gap:8px;align-items:center}.target-price-edit input{flex:1;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:14px}.target-price-edit input:focus{outline:none;border-color:var(--color-primary)}.target-price-edit .save-btn,.target-price-edit .cancel-btn{padding:8px 12px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s ease}.target-price-edit .save-btn{background:var(--color-primary);color:#fff}.target-price-edit .save-btn:hover{background:var(--color-primary-hover)}.target-price-edit .cancel-btn{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.target-price-edit .cancel-btn:hover{background:var(--color-border);color:var(--color-text)}.wishlist-page .rating-section{margin-bottom:12px;padding:12px;background:var(--color-primary-light);border-radius:8px;border:1px solid rgba(102,126,234,.1)}.wishlist-page .rating-label{display:block;font-size:11px;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.wishlist-page .rating-content{display:flex;align-items:center;gap:10px}.wishlist-page .rating-value{font-size:13px;font-weight:600;color:#f59e0b}.wishlist-page .rating-placeholder{font-size:12px;color:var(--color-text-muted)}.card-meta{font-size:11px;color:var(--color-text-muted)}.card-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border)}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:12px;cursor:pointer;transition:all .2s ease;text-decoration:none}.action-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text);border-color:var(--color-border-light)}.chart-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.prediction-btn{background:#a855f71a;border-color:#a855f733;color:#a855f7}.prediction-btn:hover{background:#a855f726;border-color:#a855f766;color:#c084fc}.notification-btn.active{background:var(--color-success-light);border-color:#22c55e4d;color:var(--color-success)}.notification-btn:not(.active){color:var(--color-text-muted)}.link-btn:hover{border-color:#3b82f6;color:#3b82f6}.delete-btn{margin-left:auto}.delete-btn:hover{background:var(--color-error-light);border-color:#ef44444d;color:var(--color-error)}.check-price-btn:hover{border-color:#f59e0b;color:#f59e0b}.check-price-btn.loading{opacity:.7;cursor:not-allowed}.btn-spinner{width:14px;height:14px;border:2px solid var(--color-text-muted);border-top-color:#f59e0b;border-radius:50%;animation:spin 1s linear infinite}.price-analysis-section{background:var(--color-primary-light);border:1px solid rgba(102,126,234,.2);border-radius:8px;padding:12px;margin-bottom:12px}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.analysis-title{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.recommendation-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.badge-buy{background:var(--color-success-light);color:var(--color-success)}.badge-wait{background:var(--color-warning-light);color:var(--color-warning)}.badge-neutral{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.badge-insufficient{background:#ef734433;color:#f97316}.insufficient-data-message{padding:10px 12px;background:#ef73441a;border:1px solid rgba(239,115,68,.2);border-radius:6px;color:#f97316;font-size:12px;text-align:center}.analysis-stats{display:flex;gap:12px;flex-wrap:wrap}.analysis-stat{display:flex;flex-direction:column;gap:2px;min-width:70px}.analysis-stat .stat-label{font-size:10px;color:var(--color-text-muted)}.wishlist-page .analysis-stat .stat-value{font-size:13px;font-weight:600;color:var(--color-text)}.analysis-stat .stat-value.high{color:var(--color-error)}.analysis-stat .stat-value.down{color:var(--color-success)}.analysis-stat .stat-value.up{color:var(--color-error)}.is-lowest-indicator{margin-top:10px;padding:8px;background:var(--color-success-light);border:1px solid rgba(34,197,94,.3);border-radius:6px;color:var(--color-success);font-size:12px;font-weight:600;text-align:center}.price-analysis-loading{display:flex;align-items:center;gap:8px;padding:12px;color:var(--color-text-muted);font-size:12px}.analysis-spinner{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.price-check-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.price-check-modal{background:var(--color-surface);border-radius:16px;width:100%;max-width:400px;border:1px solid var(--color-border)}.price-check-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--color-border)}.price-check-header h3{margin:0;font-size:18px;color:var(--color-text)}.price-check-header .close-button{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.price-check-header .close-button:hover{color:var(--color-text)}.price-check-content{padding:24px}.price-change-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;margin-bottom:20px}.price-change-indicator.down{background:var(--color-success-light);color:var(--color-success)}.price-change-indicator.up{background:var(--color-error-light);color:var(--color-error)}.change-icon{font-size:24px;font-weight:700}.change-text{font-size:16px;font-weight:600}.price-comparison{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.price-item{display:flex;flex-direction:column;gap:4px;text-align:center}.price-item .label{font-size:12px;color:var(--color-text-muted)}.price-item .value{font-size:18px;font-weight:600;color:var(--color-text)}.price-item.previous .value{text-decoration:line-through;color:var(--color-text-muted)}.price-arrow{font-size:20px;color:var(--color-text-muted)}.change-details{text-align:center;margin-bottom:16px}.change-amount{font-size:16px;font-weight:600}.change-amount.down{color:var(--color-success)}.change-amount.up{color:var(--color-error)}.lowest-alert{background:linear-gradient(135deg,var(--color-success) 0%,#16a34a 100%);color:#fff;padding:12px;border-radius:8px;text-align:center;font-weight:600}.no-change{text-align:center}.no-change-icon{width:48px;height:48px;background:var(--color-primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;color:var(--color-primary)}.no-change p{margin:0 0 8px;color:var(--color-text-muted)}.current-price-display{font-size:16px;font-weight:600;color:var(--color-text)!important}.add-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.add-modal{background:var(--color-surface);border-radius:16px;width:100%;max-width:420px;border:1px solid var(--color-border)}.add-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--color-border)}.add-modal-header h3{margin:0;font-size:18px;color:var(--color-text)}.add-modal-header .close-button{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.add-modal-header .close-button:hover{color:var(--color-text)}.add-modal-content{padding:24px}.add-modal-content .form-group{margin-bottom:20px}.add-modal-content .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--color-text)}.add-modal-content .category-select,.add-modal-content .product-name-input{width:100%;padding:12px 16px;background:var(--color-bg-secondary)!important;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text)!important;font-size:14px;transition:border-color .2s ease}.add-modal-content .category-select:focus,.add-modal-content .product-name-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-secondary)!important;color:var(--color-text)!important}.add-modal-content .product-name-input:-webkit-autofill,.add-modal-content .product-name-input:-webkit-autofill:hover,.add-modal-content .product-name-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-bg-secondary) inset!important;-webkit-text-fill-color:var(--color-text)!important;background-color:var(--color-bg-secondary)!important;caret-color:var(--color-text)}.add-modal-content .category-select option{background:var(--color-bg-secondary);color:var(--color-text)}.add-modal-note{margin:0;font-size:12px;color:var(--color-text-muted);text-align:center}.add-modal-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--color-border)}.add-modal-actions .cancel-button,.add-modal-actions .submit-button{flex:1;padding:12px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-modal-actions .cancel-button{background:var(--color-bg-tertiary);border:none;color:var(--color-text-muted)}.add-modal-actions .cancel-button:hover{background:var(--color-border);color:var(--color-text)}.add-modal-actions .submit-button{background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);border:none;color:#fff}.add-modal-actions .submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.add-modal-actions .submit-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.wishlist-page{padding:20px 16px}.header-top{flex-direction:column;gap:16px}.add-manual-button{width:100%;justify-content:center}.wishlist-header h2{font-size:24px}.wishlist-grid{grid-template-columns:1fr}.card-actions{flex-wrap:wrap}.action-btn{flex:1;min-width:calc(50% - 4px);justify-content:center}.delete-btn{margin-left:0;min-width:100%}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;pointer-events:auto;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;font-size:14px;line-height:1.4;color:var(--color-text)}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast)}.toast-close:hover{background:var(--color-bg-secondary);color:var(--color-text)}.toast-close svg{width:16px;height:16px}.toast-success{border-left:4px solid var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-left:4px solid var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.toast-info .toast-icon{color:var(--color-primary)}@media (max-width: 480px){.toast-container{left:16px;right:16px;bottom:16px}.toast{min-width:auto;max-width:none}}.compare-mini-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full);box-shadow:0 4px 20px #00000040;cursor:pointer;transition:all .2s ease;z-index:1000}.compare-mini-bar:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 6px 24px #0000004d}.compare-icon{display:flex;align-items:center}.compare-count{font-size:14px;font-weight:600}.expand-icon{display:flex;align-items:center;opacity:.8}.compare-panel-overlay{position:fixed;bottom:0;left:0;right:0;z-index:1001;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.compare-panel{background-color:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #00000026;max-height:70vh;display:flex;flex-direction:column}.compare-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.header-left{display:flex;align-items:center;gap:12px}.compare-panel-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text)}.item-count{font-size:13px;color:var(--color-text-secondary);background-color:var(--color-primary-light);padding:4px 10px;border-radius:var(--radius-full)}.header-actions{display:flex;gap:12px}.clear-btn{padding:8px 16px;font-size:13px;color:var(--color-error);background-color:transparent;border:1px solid var(--color-error);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.clear-btn:hover{background-color:var(--color-error);color:#fff}.close-btn{padding:8px;background-color:transparent;border:none;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius);transition:all .2s ease}.close-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.compare-panel-content{padding:20px 24px;overflow-y:auto;flex:1}.compare-items-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.compare-item-card{position:relative;padding:16px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.compare-item-card.empty{border-style:dashed;display:flex;align-items:center;justify-content:center;min-height:180px}.empty-slot{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-text-muted)}.empty-slot span{font-size:13px}.remove-item-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;cursor:pointer;color:var(--color-text-muted);transition:all .2s ease}.remove-item-btn:hover{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.item-image{width:80px;height:80px;object-fit:cover;border-radius:var(--radius);margin:0 auto 12px}.item-image.no-image{display:flex;align-items:center;justify-content:center;background-color:var(--color-border);font-size:11px;color:var(--color-text-muted)}.compare-item-card .item-title{margin:0 0 8px;font-size:13px;font-weight:500;color:var(--color-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compare-item-card .item-price{margin:0;font-size:15px;font-weight:700;color:var(--color-primary)}.compare-hint{text-align:center;padding:24px;color:var(--color-text-secondary)}.compare-hint p{margin:0;font-size:14px}.compare-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.compare-table{width:100%;border-collapse:collapse;font-size:13px}.compare-table th,.compare-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.compare-table th{background-color:var(--color-bg-secondary);font-weight:600;color:var(--color-text)}.attribute-header{width:120px;min-width:120px}.product-header{font-size:12px;max-width:200px}.attribute-name{font-weight:600;color:var(--color-text-secondary);background-color:var(--color-bg-tertiary, #f8f9fa)}.price-cell{position:relative}.price-cell.lowest{background-color:#f0fdf4}.price-value{display:block;font-weight:700;font-size:15px;color:var(--color-text)}.lowest-badge{display:inline-block;margin-top:4px;padding:2px 8px;font-size:10px;font-weight:600;background-color:#22c55e;color:#fff;border-radius:var(--radius-full)}.price-diff{display:block;margin-top:4px;font-size:11px;color:var(--color-error)}.mall-cell{color:var(--color-text-secondary)}.tier-cell{text-align:center}.tier-badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-full)}.tier-badge.budget{background-color:#dbeafe;color:#1d4ed8}.tier-badge.standard{background-color:#fef3c7;color:#b45309}.tier-badge.premium{background-color:#fce7f3;color:#be185d}.reason-cell{color:var(--color-text-secondary);line-height:1.5}.benefits-cell{color:#16a34a}.tradeoffs-cell{color:#d97706}.warnings-cell ul{margin:0;padding-left:16px}.warnings-cell li{color:var(--color-error);margin:4px 0}.link-cell{text-align:center}.buy-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;color:#fff;background-color:var(--color-primary);border-radius:var(--radius);text-decoration:none;transition:all .2s ease}.buy-link:hover{background-color:var(--color-primary-dark, #4f46e5)}.price-summary{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background-color:#fef3c7;border-radius:var(--radius);font-size:13px;color:#92400e}.summary-icon{font-size:16px}.price-summary strong{color:#b45309}@media (max-width: 768px){.compare-panel{max-height:80vh}.compare-items-preview{grid-template-columns:repeat(2,1fr)}.compare-table{font-size:12px}.attribute-header{width:80px;min-width:80px}.compare-panel-header{padding:12px 16px}.compare-panel-content{padding:16px}}@media (max-width: 480px){.compare-mini-bar{padding:10px 16px;font-size:13px}.compare-items-preview{grid-template-columns:1fr}}.app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg)}.app-header{display:flex;align-items:center;gap:16px;padding:16px 32px;background-color:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-logo{display:flex;align-items:center;gap:12px}.app-logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:#fff;font-size:20px;border-radius:var(--radius-md)}.app-header h1{margin:0;font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.app-subtitle{font-size:14px;color:var(--color-text-muted);padding-left:16px;border-left:1px solid var(--color-border)}.app-main{display:flex;flex:1;gap:0;overflow:hidden}.chat-section{flex:0 0 420px;display:flex;flex-direction:column;background-color:var(--color-surface);border-right:1px solid var(--color-border)}.recommendation-section{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg);overflow-y:auto}.app-footer{padding:14px 32px;background-color:var(--color-surface);border-top:1px solid var(--color-border);text-align:center}.app-footer p{margin:0;font-size:12px;color:var(--color-text-muted)}@media (max-width: 1024px){.chat-section{flex:0 0 360px}.app-header{padding:14px 20px}}@media (max-width: 768px){.app-main{flex-direction:column}.chat-section{flex:0 0 50%;border-right:none;border-bottom:1px solid var(--color-border)}.recommendation-section{flex:1}.app-header{padding:12px 16px}.app-subtitle{display:none}.app-header h1{font-size:18px}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-primary-dark: #1e40af;--color-bg: #f8fafc;--color-bg-secondary: #f1f5f9;--color-bg-tertiary: #e2e8f0;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-success: #059669;--color-success-light: #ecfdf5;--color-warning: #d97706;--color-warning-light: #fffbeb;--color-error: #dc2626;--color-error-light: #fef2f2;--color-danger: #dc2626;--color-accent: #8b5cf6;--color-accent-light: #f5f3ff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: 6px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}[data-theme=dark]{--color-primary: #667eea;--color-primary-hover: #5a6fd6;--color-primary-light: rgba(102, 126, 234, .15);--color-primary-dark: #8b9af5;--color-bg: #0f0f1a;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #252540;--color-surface: #1e1e32;--color-border: #2d2d50;--color-border-light: #252540;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-success: #22c55e;--color-success-light: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .15);--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .15);--color-danger: #ef4444;--color-accent: #a78bfa;--color-accent-light: rgba(167, 139, 250, .15);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);line-height:1.5}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
