:root{--bg-primary: #fbfbfd;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f7;--bg-card: #ffffff;--text-primary: #1d1d1f;--text-secondary: #86868b;--text-muted: #a1a1a6;--accent-primary: #0066cc;--accent-hover: #004499;--accent-secondary: #e8f2ff;--border-color: #d2d2d7;--border-light: #e5e5e5;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(0, 102, 204, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 3rem;--font-sans: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;--font-heading: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", "Helvetica", "Arial", sans-serif;--bg-header: rgba(251, 251, 253, .8);--bg-input: rgba(0, 0, 0, .05);--bg-pill-active: #1d1d1f}[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1c1c1e;--bg-tertiary: #2c2c2e;--bg-card: #2c2c2e;--text-primary: #f5f5f7;--text-secondary: #a1a1a6;--text-muted: #6e6e73;--accent-primary: #0a84ff;--accent-hover: #0077ed;--accent-secondary: #1c2b3e;--border-color: #38383a;--border-light: #48484a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .8);--shadow-glow: 0 0 20px rgba(10, 132, 255, .3);--bg-header: rgba(44, 44, 46, .8);--bg-input: rgba(255, 255, 225, .15);--bg-pill-active: #3a3a3c}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}@supports (font-family: -apple-system-body){body{font-family:var(--font-sans)}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none;transition:all .2s ease}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.header{background-color:var(--bg-header);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05);position:sticky;top:0;z-index:1000;padding:1rem 0;transition:background-color .3s ease}.header-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.logo{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.logo span{color:var(--text-primary)}.search-bar{flex:1;max-width:500px;position:relative}.search-input{width:100%;background:var(--bg-input);border:none;color:var(--text-primary);padding:.6rem 1rem .6rem 2.8rem;border-radius:10px;font-size:.95rem;transition:all .2s}.search-input::placeholder{color:var(--text-secondary)}.search-input:focus{outline:none;background:#fff;box-shadow:0 0 0 4px #0066cc1a}.search-icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;width:16px;height:16px}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{font-weight:400;color:var(--text-secondary);font-size:.85rem;transition:color .2s}.nav-link:hover{color:var(--text-primary)}.hero{padding:5rem 0 3rem;text-align:center;background:var(--bg-primary);position:relative;overflow:hidden}.hero h1{font-family:var(--font-heading);font-size:clamp(3rem,6vw,4.5rem);font-weight:700;margin-bottom:.5rem;line-height:1.05;letter-spacing:-.03em;color:var(--text-primary)}.hero p{color:var(--text-secondary);font-size:1.4rem;max-width:600px;margin:0 auto;font-weight:400;line-height:1.4;letter-spacing:.01em}.category-nav{display:flex;justify-content:center;gap:1rem;overflow-x:auto;padding:var(--spacing-lg) 0 2rem;scrollbar-width:none;-ms-overflow-style:none}.category-nav::-webkit-scrollbar{display:none}.category-pill{background:transparent;border:none;padding:.5rem 1rem;border-radius:20px;white-space:nowrap;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--text-primary)}.category-pill:hover{color:var(--accent-primary);background:var(--bg-tertiary)}.category-pill.active{background:var(--bg-pill-active);color:#fff;box-shadow:0 4px 12px #00000026}.category-pill.active:hover{color:#fff}.deal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-bottom:var(--spacing-xl)}@media(max-width:1100px){.deal-grid{grid-template-columns:repeat(3,1fr)}}.deal-card{background:var(--bg-card);border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-sm);border:1px solid rgba(0,0,0,.02)}.deal-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.deal-image-container{aspect-ratio:1;background:#fff;padding:2.5rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.deal-image{max-height:100%;max-width:100%;object-fit:contain;transition:transform .5s ease;filter:drop-shadow(0 4px 6px rgba(0,0,0,.05));mix-blend-mode:multiply}.deal-card:hover .deal-image{transform:scale(1.08)}.discount-badge{position:absolute;top:16px;right:16px;left:auto;z-index:10;background:var(--accent-primary);color:#fff;padding:6px 14px;border-radius:50px;font-weight:600;font-size:.8rem;box-shadow:0 4px 8px #0066cc40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.deal-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.deal-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8rem;line-height:1.4;letter-spacing:.01em}.deal-title:hover{color:var(--accent-primary)}.deal-meta{margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.deal-price{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.deal-original{font-size:.9rem;color:var(--text-secondary);text-decoration:line-through}.star-rating{color:#f5a623;font-size:.9rem;display:flex;align-items:center;gap:4px;margin-bottom:1rem;height:20px}.star-text{color:var(--text-secondary);font-size:.8rem}.deal-actions{margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:50px;font-weight:500;cursor:pointer;width:100%;transition:all .2s;border:none;font-size:.95rem}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px #0066cc4d;transform:translateY(-1px)}footer{border-top:1px solid var(--border-light);padding:var(--spacing-xl) 0;margin-top:auto;text-align:center;color:var(--text-secondary);background:var(--bg-primary);font-size:.8rem}.affiliate-disclosure{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem;font-size:.85rem;line-height:1.6;color:var(--text-secondary);text-align:left}.affiliate-disclosure strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.loading{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-size:1rem;font-weight:500}.deal-details-container{background:#fff;border-radius:24px;padding:2rem;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.deal-details-container{grid-template-columns:1.2fr 1fr}}.deal-detail-image-wrapper{position:relative;background:#fff;padding:2rem;border-radius:16px;border:1px solid var(--border-light);display:flex;justify-content:center;align-items:center}.deal-detail-image{width:100%;max-height:500px;object-fit:contain;mix-blend-mode:multiply}.deal-detail-info h1{font-family:var(--font-heading);font-size:1.8rem;line-height:1.3;margin-bottom:1rem;color:var(--text-primary)}.deal-detail-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.deal-detail-price{font-size:2rem;font-weight:700;color:var(--text-primary)}.deal-detail-original{text-decoration:line-through;color:var(--text-secondary);font-size:1.2rem}.deal-detail-description{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem;font-size:1.05rem}.upvote-container{display:flex;margin-bottom:1rem}.upvote-btn{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border-color);padding:.6rem 1.2rem;border-radius:50px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.upvote-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-primary)}.upvote-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.upvote-icon{transition:transform .2s}.upvote-btn:hover .upvote-icon{transform:translateY(-2px)}.comments-section{margin-top:3rem;border-top:1px solid var(--border-light);padding-top:2rem}.comments-header{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;margin-bottom:1.5rem}.comment-input-wrapper{display:flex;gap:1rem;margin-bottom:2rem}.comment-avatar{width:40px;height:40px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);flex-shrink:0}.comment-box{flex:1;display:flex;flex-direction:column;gap:.5rem}.comment-textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:12px;resize:vertical;min-height:80px;font-family:inherit;font-size:.95rem}.comment-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #0066cc1a}.comment-list{display:flex;flex-direction:column;gap:1.5rem}.comment-item{display:flex;gap:1rem}.comment-content{flex:1}.comment-author{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:.2rem}.comment-text{color:var(--text-secondary);line-height:1.5;font-size:.95rem}.comment-time{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.auth-modal{background:var(--bg-secondary);padding:2.5rem;border-radius:24px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.165,.84,.44,1)}.auth-modal .modal-title,.auth-modal h2{color:var(--text-primary)}.auth-modal .modal-subtitle,.auth-modal p,.auth-modal label{color:var(--text-secondary)}.auth-modal .auth-input{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.auth-modal .auth-input::placeholder{color:var(--text-muted)}.modal-overlay.active .auth-modal{transform:translateY(0)}.modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1}.modal-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-align:center}.modal-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{width:100%;padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;transition:all .2s}.auth-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 4px #0066cc1a}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-secondary)}.auth-switch a{color:var(--accent-primary);font-weight:600;cursor:pointer}.auth-error{background:#fff2f2;color:#dc3545;padding:.8rem;border-radius:8px;font-size:.9rem;margin-bottom:1rem;display:none}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer;padding:.5rem;margin-right:-.5rem}.mobile-menu-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-menu-overlay.active{opacity:1;pointer-events:auto}.mobile-menu{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:300px;background:var(--bg-card);color:var(--text-primary);z-index:2001;transform:translate(-100%);transition:transform .3s cubic-bezier(.165,.84,.44,1);display:flex;flex-direction:column;padding:2rem;box-shadow:4px 0 24px #0000001a}.mobile-menu.active{transform:translate(0)}.mobile-nav-link{display:flex;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-light);color:var(--text-primary);font-weight:500;font-size:1.1rem}.mobile-nav-link:last-child{border-bottom:none}@media(max-width:768px){.category-nav{display:none}.header-content{flex-wrap:wrap;gap:1rem;padding:0 1rem}.logo{font-size:1.2rem}.logo{position:static;transform:none;order:1;flex-basis:100%;text-align:center;margin-bottom:.5rem;justify-content:center}.nav-link,#authBtn{display:none!important}.header-content{position:relative;justify-content:center}.mobile-menu-btn{display:block;order:2;margin-right:.5rem}.search-bar{order:3;width:auto;flex:1;margin-top:0}.container{padding:0 var(--spacing-md)}.deal-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.deal-card{border-radius:12px}.deal-image-container,.deal-content{padding:1rem}.deal-title{font-size:.9rem;min-height:2.5rem}.deal-price{font-size:1.1rem}.hero h1{font-size:2.2rem}}#page-loader{grid-column:1 / -1;text-align:center;padding:4rem 2rem;font-weight:500;color:var(--text-secondary);display:flex;justify-content:center;align-items:center;min-height:200px}.search-wrapper{position:relative;display:flex;align-items:center}.search-bar.searching:after{content:"";position:absolute;right:12px;width:16px;height:16px;border:2px solid var(--text-secondary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.install-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:1.5rem}.install-modal-overlay.active{opacity:1;pointer-events:auto}.install-modal{background:var(--bg-card);width:100%;max-width:360px;border-radius:28px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d;text-align:center;transform:scale(.95);transition:transform .3s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden}.install-modal-overlay.active .install-modal{transform:scale(1)}.install-icon-wrapper{width:80px;height:80px;margin:0 auto 1.5rem;background:#fff;border-radius:20px;box-shadow:0 8px 24px #0000001f;display:flex;align-items:center;justify-content:center;overflow:hidden}.install-icon-wrapper img{width:100%;height:100%;object-fit:cover}.install-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.install-desc{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin-bottom:2rem}.install-steps{text-align:left;background:var(--bg-tertiary);padding:1.2rem;border-radius:16px;margin-bottom:2rem;font-size:.95rem;color:var(--text-primary)}.install-step{display:flex;align-items:center;gap:12px;margin-bottom:.8rem}.install-step:last-child{margin-bottom:0}.install-btn-primary{background:var(--accent-primary);color:#fff;width:100%;padding:1rem;border-radius:16px;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:transform .2s;box-shadow:0 4px 12px #0066cc4d;display:flex;align-items:center;justify-content:center;gap:8px}.install-btn-primary:active{transform:scale(.98)}.install-close{margin-top:1rem;background:none;border:none;color:var(--text-secondary);font-size:.95rem;cursor:pointer;padding:.5rem;font-weight:500}
