*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:#f7f7f5;color:#1c1c1e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1200px;margin:0 auto;padding:40px 24px 80px}.page-header{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.page-header h1{margin:0;font-size:28px;font-weight:600;letter-spacing:-.02em}.tabs{display:inline-flex;gap:4px;padding:4px;background:#ececea;border-radius:10px;width:fit-content}.tab{appearance:none;border:none;background:transparent;color:#6b6b6b;font:inherit;font-size:14px;font-weight:500;padding:6px 16px;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease}.tab:hover{color:#1c1c1e}.tab-active,.tab-active:hover{background:#fff;color:#1c1c1e;box-shadow:0 1px 2px #0000000f}.search{width:100%;max-width:360px;padding:10px 14px;border:1px solid #e2e2df;border-radius:10px;background:#fff;font-size:14px;color:inherit;outline:none;transition:border-color .15s ease}.search:focus{border-color:#1c1c1e}.section{margin-top:32px}.section-title{margin:0 0 16px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#6b6b6b}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #ececea;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f}.card-image{aspect-ratio:4 / 3;background:#f0f0ee;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;display:block}.card-image-empty{width:100%;height:100%}.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}.card-name{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.card-price{margin:4px 0 0;font-size:14px;font-weight:600;color:#1c1c1e}.empty{margin:64px 0;text-align:center;color:#8a8a8a}@media(max-width:480px){.app{padding:24px 16px 56px}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}}
