:root{--primary:#3A67EF;--secondary:#48A6CD;--text-primary:#121925;--text-secondary:#4A4E59;--text-tertiary:#777D8C;--background:#F2F5F8;--border:#DCE0E6;--dark-section:#0F0E13;--btn-gradient:linear-gradient(135deg,#0014FF,#0012E1);--btn-radius:14px;--badge-color:#48A6CD;--badge-bg:rgba(72,166,205,0.1);--badge-border:rgba(72,166,205,0.15);--font-display:"Mona Sans",sans-serif;--font-body:"Geist Sans","Geist",system-ui,sans-serif;--success:#1DAC76;--error:#E53E3E;--warning:#F0BE48;--info:#48A6CD;--system-60:#B9C1D1;--system-40:#E2E7F2;--system-30:#EFF2F8;--white:#FFFFFF;--rounded-card:18px;--rounded-btn:14px;--rounded-input:14px;--rounded-badge:50px;--rounded-modal:18px;--transition:300ms ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--background);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.header{background:var(--white);border-bottom:1px solid var(--border);padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.header h1{font-family:var(--font-display);font-size:24px;font-weight:600}.btn-primary{background:var(--btn-gradient);color:var(--white);border:none;padding:14px 24px;border-radius:var(--rounded-btn);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:filter var(--transition);min-height:48px}.btn-primary:hover{filter:brightness(1.08)}.tabs{display:flex;gap:2px;background:var(--system-30);padding:4px;border-radius:var(--rounded-btn)}.tab{flex:1 1;padding:10px 12px;border:none;background:transparent;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-radius:calc(var(--rounded-btn) - 4px);transition:all var(--transition);text-align:center;min-height:44px}.tab.active{background:var(--white);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px rgba(18,25,37,.06)}.tab .count{display:inline-block;font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--rounded-badge);margin-left:4px;background:var(--system-40);color:var(--text-tertiary)}.tab.active .count{background:var(--primary);color:var(--white)}.search-bar{padding:12px 20px;max-width:1200px;margin:0 auto}.search-bar input{width:100%;padding:10px 16px 10px 42px;border:1px solid var(--border);border-radius:var(--rounded-input);font-family:var(--font-body);font-size:14px;color:var(--text-primary);background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23777D8C' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E") no-repeat 14px center;outline:none;transition:border-color var(--transition)}.search-bar input::placeholder{color:var(--text-tertiary)}.search-bar input:focus{border-color:var(--primary)}.filter-bar{padding:0 20px 12px;display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:1200px;margin:0 auto}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{padding:8px 16px;border:1px solid var(--border);border-radius:var(--rounded-badge);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;background:var(--white);color:var(--text-secondary);transition:all var(--transition);white-space:nowrap;flex-shrink:0;min-height:36px}.filter-chip.active{background:var(--text-primary);color:var(--white);border-color:var(--text-primary)}.listings{max-width:1200px;margin:0 auto;padding:0 20px 100px;display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:600px){.listings{grid-template-columns:repeat(2,1fr);gap:20px}}@media (min-width:960px){.listings{grid-template-columns:repeat(3,1fr);gap:24px}}.card{background:var(--white);border-radius:var(--rounded-card);border:1px solid var(--border);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}.card:hover{transform:scale(1.01);box-shadow:0 4px 12px rgba(18,25,37,.08)}.card-img-header{width:100%;height:160px;background:#F0F2F5;overflow:hidden}.card-img-header img{width:100%;height:100%;object-fit:cover}.card-body{display:flex;flex-direction:column;padding:20px;flex:1 1}.card-info{flex:1 1;min-width:0;display:flex;flex-direction:column}.card-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.card-info h3{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-info p{font-size:14px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.price{font-size:18px;font-weight:700}.price.wanted{color:var(--text-tertiary);font-size:14px;font-weight:600}.card-seller{font-size:12px;color:var(--text-tertiary)}.card-actions{padding:0 20px 20px}.badge{font-size:11px;font-weight:600;padding:4px 12px;border-radius:var(--rounded-badge);color:var(--badge-color);background:var(--badge-bg);border:1.5px solid var(--badge-border);white-space:nowrap}.badge-sale{color:var(--success);background:rgba(29,172,118,.1);border-color:rgba(29,172,118,.15)}.badge-wanted{color:#B45309;background:rgba(240,190,72,.1);border-color:rgba(240,190,72,.15)}.btn-offer{width:100%;padding:14px;border:none;border-radius:var(--rounded-btn);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:filter var(--transition);min-height:48px}.btn-offer-sale{background:var(--btn-gradient);color:var(--white)}.btn-offer-sale:hover{filter:brightness(1.08)}.btn-offer-wanted{background:rgba(240,190,72,.1);color:#92400E;border:1.5px solid rgba(240,190,72,.15)}.btn-offer-wanted:hover{background:rgba(240,190,72,.2)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-tertiary)}.empty-state svg{width:56px;height:56px;margin-bottom:16px;stroke:var(--system-60);stroke-width:1.25}.empty-state h3{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.empty-state p{font-size:14px}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(15,14,19,.45);z-index:200;align-items:flex-end;justify-content:center}.modal-overlay.open{display:flex}.modal{background:var(--white);border-radius:var(--rounded-modal) var(--rounded-modal) 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:24px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:36px;height:4px;background:var(--system-40);border-radius:2px;margin:0 auto 16px}.modal h2{font-family:var(--font-display);font-size:24px;font-weight:600;margin-bottom:4px}.modal .subtitle{font-size:14px;color:var(--text-tertiary);margin-bottom:24px}.type-selector{display:flex;gap:8px;margin-bottom:24px}.type-option{flex:1 1;padding:16px 12px;border:1.5px solid var(--border);border-radius:var(--rounded-card);background:var(--white);cursor:pointer;text-align:center;transition:all var(--transition);min-height:48px}.type-option.selected{border-color:var(--primary);background:var(--system-30)}.type-icon{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--primary);margin-bottom:4px}.type-label{font-size:13px;font-weight:600}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;letter-spacing:.2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--rounded-input);font-family:var(--font-body);font-size:14px;color:var(--text-primary);outline:none;transition:border-color var(--transition);background:var(--white)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-tertiary)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group textarea{resize:vertical;min-height:80px}.price-input{position:relative}.price-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:14px;font-weight:600}.price-input input{padding-right:44px}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{padding:8px 16px;border:1px solid var(--border);border-radius:var(--rounded-badge);font-size:13px;font-weight:500;cursor:pointer;background:var(--white);color:var(--text-secondary);transition:all var(--transition)}.category-chip.selected{background:var(--primary);color:var(--white);border-color:var(--primary)}.btn-submit{width:100%;padding:14px;border:none;border-radius:var(--rounded-btn);font-size:15px;font-weight:700;cursor:pointer;margin-top:8px;transition:filter var(--transition);background:var(--btn-gradient);color:var(--white);min-height:48px}.btn-submit:hover{filter:brightness(1.08)}.btn-cancel{width:100%;padding:12px;border:none;background:transparent;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;margin-top:8px;min-height:44px}.offer-detail{display:flex;gap:12px;padding:16px;background:var(--system-30);border-radius:var(--rounded-input);border:1px solid var(--system-40);margin-bottom:16px}.offer-detail-img{width:56px;height:56px;border-radius:calc(var(--rounded-input) - 2px);background:var(--white);border:1px solid var(--border);overflow:hidden;flex-shrink:0}.offer-detail-img img{width:100%;height:100%;object-fit:cover}.offer-detail-info h4{font-size:14px;font-weight:600;margin-bottom:2px}.offer-detail-info .offer-price{font-size:16px;font-weight:700}.offer-detail-info .offer-seller{font-size:12px;color:var(--text-tertiary)}.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--dark-section);color:var(--white);padding:12px 24px;border-radius:var(--rounded-btn);font-size:14px;font-weight:500;z-index:300;opacity:0;transition:all var(--transition);white-space:nowrap}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}