:root{--text:#111;--text-muted:#666;--bg:#fff;--bg-subtle:#f5f5f5;--border:#e5e5e5;--accent:#0066ff}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}button{font-family:inherit}.layout{min-height:100vh;display:flex;flex-direction:column}.header{border-bottom:1px solid var(--border);padding:1rem 2rem}.nav{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;flex-wrap:wrap;gap:0.75rem}.logo{font-weight:700;font-size:1.25rem;text-decoration:none}.nav-links{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}.nav-links a{text-decoration:none;color:var(--text-muted);font-size:0.9rem}.nav-links a:hover{color:var(--text)}.nav-submit{padding:0.3rem 0.7rem;background:var(--accent);color:#fff!important;border-radius:6px;font-weight:600}.nav-sell{padding:0.3rem 0.7rem;background:#4a9eff;color:#fff!important;border-radius:6px;font-weight:600}.nav-login{padding:0.3rem 0.8rem;border:1px solid var(--border);border-radius:6px;font-weight:600}.nav-admin{opacity:0.5;font-size:0.8rem}.nav-logout{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:inherit;padding:0}.nav-logout:hover{color:var(--text)}.main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.footer{border-top:1px solid var(--border);padding:1rem 2rem;text-align:center;color:var(--text-muted);font-size:0.875rem}.btn{display:inline-block;padding:0.7rem 1.5rem;border-radius:8px;font-weight:600;font-size:0.95rem;text-decoration:none;border:none;cursor:pointer;transition:opacity 0.15s}.btn:hover{opacity:0.9}.btn-primary{background:var(--accent);color:#fff}.btn-outline{border:1px solid var(--border);color:var(--text);background:transparent}.btn-outline:hover{border-color:var(--accent)}.btn-sm{padding:0.35rem 0.8rem;font-size:0.85rem}.btn-danger{background:#ef4444;color:#fff}.hero{text-align:center;padding:3rem 0 4rem}.hero h1{font-size:2.5rem;font-weight:800;line-height:1.15;margin-bottom:1rem}.hero-highlight{color:var(--accent)}.hero p{font-size:1.1rem;color:var(--text-muted);max-width:560px;margin:0 auto 2rem}.hero-actions{display:flex;gap:1rem;justify-content:center}.section{margin-bottom:3rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}.feed-card{display:block;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform 0.15s,box-shadow 0.15s;text-decoration:none;color:inherit}.feed-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,0.08)}.feed-card.is-p2p{border-color:#4a9eff}.card-image{aspect-ratio:4/3;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.img-placeholder{font-size:3rem}.source-badge{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;text-transform:uppercase}.badge-store{background:#10b981;color:#fff}.badge-p2p{background:#4a9eff;color:#fff}.badge-community{background:#f59e0b;color:#fff}.condition-badge{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;background:rgba(0,0,0,0.7);color:#fff}.card-body{padding:12px}.card-title{margin:0 0 6px;font-size:0.9rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{font-size:0.75rem;color:var(--text-muted);margin-bottom:8px}.card-pricing{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.price{font-size:1.1rem;font-weight:700;color:var(--accent)}.price-lg{font-size:1.75rem;font-weight:800}.original-price{font-size:0.8rem;text-decoration:line-through;color:var(--text-muted)}.discount{font-size:0.75rem;font-weight:600;color:#ef4444}.discount-green{font-size:0.8rem;font-weight:700;color:#16a34a;background:#dcfce7;padding:0.1rem 0.4rem;border-radius:4px}.accepts-offers{font-size:0.65rem;padding:1px 6px;border-radius:3px;background:#4a9eff22;color:#4a9eff;font-weight:500}.quality-badge{display:inline-block;font-size:0.7rem;padding:2px 6px;border-radius:4px;margin-top:6px}.quality-verified_drop{background:#10b98122;color:#10b981}.quality-lowest_ever{background:#ef444422;color:#ef4444}.quality-good{background:#3b82f622;color:#3b82f6}.deal-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow 0.2s,transform 0.15s}.deal-card:hover{box-shadow:0 4px 20px rgba(0,0,0,0.08);transform:translateY(-2px)}.deal-card-header{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem 0;gap:0.5rem}.deal-store{font-size:0.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-left:auto}.deal-card-body{display:flex;gap:1rem;padding:0.75rem 1rem;flex:1}.deal-card-body-link{display:flex;gap:1rem;text-decoration:none;color:inherit}.deal-product-image{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:8px}.deal-info{flex:1;min-width:0}.detail-brand{font-size:0.75rem;font-weight:600;text-transform:uppercase;color:var(--accent);letter-spacing:0.04em}.deal-product-name{font-size:0.95rem;font-weight:700;margin:0.15rem 0;line-height:1.3}.deal-title{font-size:0.8rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.deal-card-footer{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem;border-top:1px solid var(--border);gap:0.75rem}.deal-cta-sm{flex-shrink:0;padding:0.5rem 1rem;background:var(--accent);color:#fff;border-radius:8px;font-size:0.8rem;font-weight:600;text-decoration:none;white-space:nowrap}.deal-cta-sm:hover{opacity:0.9}.deal-cta{display:inline-flex;flex-direction:column;align-items:center;padding:0.75rem 2rem;background:var(--accent);color:#fff;border-radius:10px;text-decoration:none;font-weight:700;font-size:1rem;transition:opacity 0.15s;margin-bottom:1.5rem}.deal-cta:hover{opacity:0.9}.deal-cta small{font-size:0.7rem;font-weight:400;opacity:0.8}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.back-link{text-decoration:none;color:var(--text-muted);font-size:0.9rem}.back-link:hover{color:var(--accent)}.detail-grid{display:grid;grid-template-columns:200px 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:640px){.detail-grid{grid-template-columns:1fr}}.detail-image{width:200px;height:200px;background:var(--bg-subtle);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:4rem}.detail-name{font-size:1.5rem;font-weight:800;margin:0.25rem 0;line-height:1.3}.detail-subtitle{color:var(--text-muted);font-size:0.9rem;margin-bottom:1rem}.detail-meta{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;font-size:0.85rem;color:var(--text-muted)}.specs-grid{display:grid;grid-template-columns:auto 1fr;gap:0.25rem 1rem;font-size:0.85rem}.specs-grid dt{font-weight:600;color:var(--text-muted)}.price-chart{background:var(--bg-subtle);border-radius:12px;padding:1rem;margin-bottom:2rem}.price-chart svg{width:100%;height:200px}.vote-widget{display:inline-flex;align-items:center;gap:0.5rem}.vote-widget button{background:none;border:1px solid var(--border);padding:0.25rem 0.5rem;border-radius:4px;cursor:pointer;font-size:0.85rem;color:var(--text-muted)}.vote-widget button:hover{border-color:var(--accent);color:var(--accent)}.vote-score{font-weight:700;min-width:2ch;text-align:center}.comment{padding:1rem;border:1px solid var(--border);border-radius:8px;margin-bottom:0.75rem}.comment-op{border-color:var(--accent)}.comment-meta{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.375rem}.comment-meta a{color:var(--accent);text-decoration:none}.comment-body{font-size:0.9rem;line-height:1.5}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;margin-bottom:0.375rem;font-size:0.9rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.6rem 0.8rem;border:1px solid var(--border);border-radius:8px;font-size:0.95rem;font-family:inherit;background:var(--bg);color:var(--text)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,102,255,0.1)}.form-card{max-width:420px;margin:2rem auto;padding:2rem;border:1px solid var(--border);border-radius:12px}.form-error{color:#ef4444;background:#fee2e2;padding:0.75rem;border-radius:8px;font-size:0.85rem;margin-bottom:1rem}.form-success{color:#16a34a;background:#dcfce7;padding:0.75rem;border-radius:8px;font-size:0.85rem;margin-bottom:1rem}table{width:100%;border-collapse:collapse}th,td{padding:0.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:0.875rem}th{font-weight:600;color:var(--text-muted);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{padding:1.25rem;border:1px solid var(--border);border-radius:12px}.stat-card h3{font-size:0.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:0.25rem}.stat-value{font-size:2rem;font-weight:800}.feed-tabs{display:flex;gap:0.5rem}.feed-tabs button,.feed-tabs a{padding:0.35rem 0.8rem;border-radius:20px;border:1px solid var(--border);background:transparent;cursor:pointer;font-size:0.85rem;color:var(--text-muted);text-decoration:none}.feed-tabs button.active,.feed-tabs button:hover,.feed-tabs a.active,.feed-tabs a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.category-tile{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:1.25rem 1rem;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:border-color 0.15s,transform 0.15s}.category-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.category-tile-emoji{font-size:2rem}.category-tile-name{font-weight:600;font-size:0.9rem}.category-tile-count{font-size:0.75rem;color:var(--text-muted)}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.trust-item{text-align:center}.trust-icon{font-size:2rem;margin-bottom:0.75rem;display:block}.trust-item h3{margin-bottom:0.5rem}.trust-item p{color:var(--text-muted);font-size:0.9rem}.search-form{display:flex;gap:0.75rem;margin-bottom:2rem}.search-form input{flex:1}.status{display:inline-block;padding:0.15rem 0.5rem;border-radius:4px;font-size:0.75rem;font-weight:600;text-transform:uppercase}.status-active{color:#16a34a;background:#dcfce7}.status-pending{color:#b45309;background:#fef3c7}.status-expired,.status-rejected,.status-cancelled,.status-failed{color:#dc2626;background:#fee2e2}.status-completed,.status-approved,.status-verified{color:#16a34a;background:#dcfce7}.profile-header{display:flex;gap:2rem;margin-bottom:2rem;align-items:flex-start}.profile-avatar{width:80px;height:80px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.profile-stat{text-align:center;padding:1rem;border:1px solid var(--border);border-radius:8px}.profile-stat .value{font-size:1.5rem;font-weight:700;display:block}.profile-stat .label{font-size:0.75rem;color:var(--text-muted);text-transform:uppercase}.empty-state{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.empty-state h1{color:var(--text);margin-bottom:0.5rem}.empty-state p{margin-bottom:1.5rem}.msg-list{list-style:none}.msg-item{padding:1rem;border-bottom:1px solid var(--border)}.msg-item a{text-decoration:none;color:inherit}.msg-item:hover{background:var(--bg-subtle)}.msg-bubble{padding:0.75rem;border-radius:8px;margin-bottom:0.5rem;max-width:70%}.msg-mine{background:var(--accent);color:#fff;margin-left:auto}.msg-theirs{background:var(--bg-subtle)}.tx-tracker{display:flex;gap:0;margin:2rem 0}.tx-step{flex:1;text-align:center;padding:0.75rem;border-bottom:3px solid var(--border);font-size:0.8rem;color:var(--text-muted)}.tx-step.active{border-color:var(--accent);color:var(--accent);font-weight:600}.tx-step.done{border-color:#10b981;color:#10b981}.listing-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.75rem;margin-bottom:1.5rem}.listing-gallery img,.listing-gallery .img-placeholder{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;font-size:2rem}.admin-nav{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.admin-nav a{padding:0.4rem 0.8rem;border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--text-muted);font-size:0.85rem}.admin-nav a:hover{border-color:var(--accent);color:var(--accent)}.seller-badge{display:inline-block;padding:0.15rem 0.5rem;border-radius:4px;font-size:0.7rem;font-weight:600;background:#10b98122;color:#10b981}